Source code of Windows XP (NT5)
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.

199 lines
4.7 KiB

  1. //+------------------------------------------------------------------
  2. //
  3. // Copyright (C) Microsoft Corporation, 1991 - 1997
  4. //
  5. // File: notprop.hxx
  6. //
  7. // Contents: Notification stat property enumeration interfaces
  8. //
  9. // Classes: CINStatPropertyEnum, CINStatPropertyStorage
  10. //
  11. // History: 24-Feb-97 SitaramR Created
  12. //
  13. //-------------------------------------------------------------------
  14. #pragma once
  15. #include <ciintf.h>
  16. //+---------------------------------------------------------------------------
  17. //
  18. // Class: CINStatPropertyEnum
  19. //
  20. // Purpose: IEnumSTATPROPSTG enumerator
  21. //
  22. // History: 24-Feb-97 SitaramR Created
  23. //
  24. //----------------------------------------------------------------------------
  25. class CINStatPropertyEnum : public IEnumSTATPROPSTG
  26. {
  27. public:
  28. //
  29. // From IUnknown
  30. //
  31. virtual SCODE STDMETHODCALLTYPE QueryInterface( REFIID riid, void **ppvObject );
  32. virtual ULONG STDMETHODCALLTYPE AddRef();
  33. virtual ULONG STDMETHODCALLTYPE Release();
  34. //
  35. // From IEnumSTATPROPSTG
  36. //
  37. virtual SCODE STDMETHODCALLTYPE Next( ULONG celt,
  38. STATPROPSTG *rgelt,
  39. ULONG *pceltFetched )
  40. {
  41. *pceltFetched = 0;
  42. return S_OK;
  43. }
  44. virtual SCODE STDMETHODCALLTYPE Skip( ULONG celt )
  45. {
  46. return S_OK;
  47. }
  48. virtual SCODE STDMETHODCALLTYPE Reset()
  49. {
  50. return S_OK;
  51. }
  52. virtual SCODE STDMETHODCALLTYPE Clone( IEnumSTATPROPSTG **ppenum )
  53. {
  54. return E_NOTIMPL;
  55. }
  56. //
  57. // Local methods
  58. //
  59. CINStatPropertyEnum()
  60. : _cRefs(1)
  61. {
  62. }
  63. private:
  64. virtual ~CINStatPropertyEnum() { }
  65. ULONG _cRefs;
  66. };
  67. //+---------------------------------------------------------------------------
  68. //
  69. // Class: CINStatPropertyStorage
  70. //
  71. // Purpose: IPropertyStorage derivative that provides read-only access to
  72. // the stat properties of a document
  73. //
  74. // History: 24-Feb-97 SitaramR Created
  75. //
  76. //----------------------------------------------------------------------------
  77. class CINStatPropertyStorage : public IPropertyStorage
  78. {
  79. public:
  80. //
  81. // From IUnknown
  82. //
  83. virtual SCODE STDMETHODCALLTYPE QueryInterface( REFIID riid, void **ppvObject );
  84. virtual ULONG STDMETHODCALLTYPE AddRef();
  85. virtual ULONG STDMETHODCALLTYPE Release();
  86. //
  87. // From IPropertyStorage
  88. //
  89. virtual SCODE STDMETHODCALLTYPE ReadMultiple( ULONG cpspec,
  90. const PROPSPEC rgpspec[],
  91. PROPVARIANT rgpropvar[] );
  92. virtual SCODE STDMETHODCALLTYPE WriteMultiple( ULONG cpspec,
  93. const PROPSPEC rgpspec[],
  94. const PROPVARIANT rgpropvar[],
  95. PROPID propidNameFirst )
  96. {
  97. return E_NOTIMPL;
  98. }
  99. virtual SCODE STDMETHODCALLTYPE DeleteMultiple( ULONG cpspec,
  100. const PROPSPEC rgpspec[] )
  101. {
  102. return E_NOTIMPL;
  103. }
  104. virtual SCODE STDMETHODCALLTYPE ReadPropertyNames( ULONG cpropid,
  105. const PROPID rgpropid[],
  106. LPOLESTR rglpwstrName[] )
  107. {
  108. return E_NOTIMPL;
  109. }
  110. virtual SCODE STDMETHODCALLTYPE WritePropertyNames( ULONG cpropid,
  111. const PROPID rgpropid[],
  112. const LPOLESTR rglpwstrName[] )
  113. {
  114. return E_NOTIMPL;
  115. }
  116. virtual SCODE STDMETHODCALLTYPE DeletePropertyNames( ULONG cpropid,
  117. const PROPID rgpropid[] )
  118. {
  119. return E_NOTIMPL;
  120. }
  121. virtual SCODE STDMETHODCALLTYPE Commit( DWORD grfCommitFlags )
  122. {
  123. return E_NOTIMPL;
  124. }
  125. virtual SCODE STDMETHODCALLTYPE Revert()
  126. {
  127. return E_NOTIMPL;
  128. }
  129. virtual SCODE STDMETHODCALLTYPE Enum( IEnumSTATPROPSTG **ppenum );
  130. virtual SCODE STDMETHODCALLTYPE SetTimes( const FILETIME *pctime,
  131. const FILETIME *patime,
  132. const FILETIME *pmtime )
  133. {
  134. return E_NOTIMPL;
  135. }
  136. virtual SCODE STDMETHODCALLTYPE SetClass( REFCLSID clsid )
  137. {
  138. return E_NOTIMPL;
  139. }
  140. virtual SCODE STDMETHODCALLTYPE Stat( STATPROPSETSTG *pstatpsstg)
  141. {
  142. return E_NOTIMPL;
  143. }
  144. //
  145. // Local methods
  146. //
  147. CINStatPropertyStorage();
  148. private:
  149. virtual ~CINStatPropertyStorage() { }
  150. ULONG _cRefs;
  151. };