Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.4 KiB

  1. //+------------------------------------------------------------------
  2. //
  3. // Copyright (C) Microsoft Corporation, 1991 - 1997
  4. //
  5. // File: notifdoc.hxx
  6. //
  7. // Contents: Notification opened document interface
  8. //
  9. // Classes: CINOpenedDoc
  10. //
  11. // History: 24-Feb-97 SitaramR Created
  12. //
  13. //-------------------------------------------------------------------
  14. #pragma once
  15. #include <ciintf.h>
  16. #include "docname.hxx"
  17. #include "idxnotif.hxx"
  18. //+---------------------------------------------------------------------------
  19. //
  20. // Class: CINOpenedDoc
  21. //
  22. // Purpose: OpenedDoc interface to entries in buffer
  23. //
  24. // History: 24-Feb-97 SitaramR Created
  25. //
  26. //----------------------------------------------------------------------------
  27. class CINOpenedDoc : public ICiCOpenedDoc
  28. {
  29. public:
  30. //
  31. // From IUnknown
  32. //
  33. virtual SCODE STDMETHODCALLTYPE QueryInterface( REFIID riid, void **ppvObject );
  34. virtual ULONG STDMETHODCALLTYPE AddRef();
  35. virtual ULONG STDMETHODCALLTYPE Release();
  36. //
  37. // From ICiCOpenedDoc
  38. //
  39. virtual SCODE STDMETHODCALLTYPE Open( BYTE const * pbDocName, ULONG cbDocName );
  40. virtual SCODE STDMETHODCALLTYPE Close( void );
  41. virtual SCODE STDMETHODCALLTYPE GetDocumentName( ICiCDocName ** ppIDocName );
  42. virtual SCODE STDMETHODCALLTYPE GetStatPropertyEnum( IPropertyStorage ** ppIStatPropEnum );
  43. virtual SCODE STDMETHODCALLTYPE GetPropertySetEnum( IPropertySetStorage ** ppIPropSetEnum );
  44. virtual SCODE STDMETHODCALLTYPE GetPropertyEnum( REFFMTID refGuidPropSet,
  45. IPropertyStorage **ppIPropEnum ) ;
  46. virtual SCODE STDMETHODCALLTYPE GetIFilter( IFilter ** ppIFilter );
  47. virtual SCODE STDMETHODCALLTYPE GetSecurity( BYTE * pbData, ULONG *pcbData );
  48. virtual SCODE STDMETHODCALLTYPE IsInUseByAnotherProcess( BOOL *pfInUse );
  49. //
  50. // Local methods
  51. //
  52. CINOpenedDoc( XInterface<CIndexNotificationTable> & xNotifTable );
  53. private:
  54. virtual ~CINOpenedDoc( ) { }
  55. WORKID _widOpened; // Wid of opened document
  56. XInterface<CIndexNotificationTable> _xNotifTable;
  57. XInterface<CCiCDocName> _xName; // Name of opened document
  58. ULONG _cRefs; // Ref count
  59. };