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.

720 lines
22 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 6.00.0361 */
  3. /* Compiler settings for vsmgmt.idl:
  4. Oicf, W1, Zp8, env=Win32 (32b run)
  5. protocol : dce , ms_ext, c_ext, robust
  6. error checks: allocation ref bounds_check enum stub_data
  7. VC __declspec() decoration level:
  8. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9. DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. //@@MIDL_FILE_HEADING( )
  12. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __vsmgmt_h__
  27. #define __vsmgmt_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IVssSnapshotMgmt_FWD_DEFINED__
  33. #define __IVssSnapshotMgmt_FWD_DEFINED__
  34. typedef interface IVssSnapshotMgmt IVssSnapshotMgmt;
  35. #endif /* __IVssSnapshotMgmt_FWD_DEFINED__ */
  36. #ifndef __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
  37. #define __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
  38. typedef interface IVssDifferentialSoftwareSnapshotMgmt IVssDifferentialSoftwareSnapshotMgmt;
  39. #endif /* __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__ */
  40. #ifndef __IVssEnumMgmtObject_FWD_DEFINED__
  41. #define __IVssEnumMgmtObject_FWD_DEFINED__
  42. typedef interface IVssEnumMgmtObject IVssEnumMgmtObject;
  43. #endif /* __IVssEnumMgmtObject_FWD_DEFINED__ */
  44. #ifndef __VssSnapshotMgmt_FWD_DEFINED__
  45. #define __VssSnapshotMgmt_FWD_DEFINED__
  46. #ifdef __cplusplus
  47. typedef class VssSnapshotMgmt VssSnapshotMgmt;
  48. #else
  49. typedef struct VssSnapshotMgmt VssSnapshotMgmt;
  50. #endif /* __cplusplus */
  51. #endif /* __VssSnapshotMgmt_FWD_DEFINED__ */
  52. /* header files for imported files */
  53. #include "oaidl.h"
  54. #include "ocidl.h"
  55. #include "vss.h"
  56. #ifdef __cplusplus
  57. extern "C"{
  58. #endif
  59. void * __RPC_USER MIDL_user_allocate(size_t);
  60. void __RPC_USER MIDL_user_free( void * );
  61. /* interface __MIDL_itf_vsmgmt_0000 */
  62. /* [local] */
  63. typedef
  64. enum _VSS_MGMT_OBJECT_TYPE
  65. { VSS_MGMT_OBJECT_UNKNOWN = 0,
  66. VSS_MGMT_OBJECT_VOLUME = VSS_MGMT_OBJECT_UNKNOWN + 1,
  67. VSS_MGMT_OBJECT_DIFF_VOLUME = VSS_MGMT_OBJECT_VOLUME + 1,
  68. VSS_MGMT_OBJECT_DIFF_AREA = VSS_MGMT_OBJECT_DIFF_VOLUME + 1
  69. } VSS_MGMT_OBJECT_TYPE;
  70. #define VSS_ASSOC_NO_MAX_SPACE ( -1 )
  71. #define VSS_ASSOC_REMOVE ( 0 )
  72. typedef struct _VSS_VOLUME_PROP
  73. {
  74. VSS_PWSZ m_pwszVolumeName;
  75. VSS_PWSZ m_pwszVolumeDisplayName;
  76. } VSS_VOLUME_PROP;
  77. typedef struct _VSS_VOLUME_PROP *PVSS_VOLUME_PROP;
  78. typedef struct _VSS_DIFF_VOLUME_PROP
  79. {
  80. VSS_PWSZ m_pwszVolumeName;
  81. VSS_PWSZ m_pwszVolumeDisplayName;
  82. LONGLONG m_llVolumeFreeSpace;
  83. LONGLONG m_llVolumeTotalSpace;
  84. } VSS_DIFF_VOLUME_PROP;
  85. typedef struct _VSS_DIFF_VOLUME_PROP *PVSS_DIFF_VOLUME_PROP;
  86. typedef struct _VSS_DIFF_AREA_PROP
  87. {
  88. VSS_PWSZ m_pwszVolumeName;
  89. VSS_PWSZ m_pwszDiffAreaVolumeName;
  90. LONGLONG m_llMaximumDiffSpace;
  91. LONGLONG m_llAllocatedDiffSpace;
  92. LONGLONG m_llUsedDiffSpace;
  93. } VSS_DIFF_AREA_PROP;
  94. typedef struct _VSS_DIFF_AREA_PROP *PVSS_DIFF_AREA_PROP;
  95. typedef /* [public][public][public][public][switch_type] */ union __MIDL___MIDL_itf_vsmgmt_0000_0001
  96. {
  97. /* [case()] */ VSS_VOLUME_PROP Vol;
  98. /* [case()] */ VSS_DIFF_VOLUME_PROP DiffVol;
  99. /* [case()] */ VSS_DIFF_AREA_PROP DiffArea;
  100. /* [default] */ /* Empty union arm */
  101. } VSS_MGMT_OBJECT_UNION;
  102. typedef struct _VSS_MGMT_OBJECT_PROP
  103. {
  104. VSS_MGMT_OBJECT_TYPE Type;
  105. /* [switch_is] */ VSS_MGMT_OBJECT_UNION Obj;
  106. } VSS_MGMT_OBJECT_PROP;
  107. typedef struct _VSS_MGMT_OBJECT_PROP *PVSS_MGMT_OBJECT_PROP;
  108. extern RPC_IF_HANDLE __MIDL_itf_vsmgmt_0000_v0_0_c_ifspec;
  109. extern RPC_IF_HANDLE __MIDL_itf_vsmgmt_0000_v0_0_s_ifspec;
  110. #ifndef __IVssSnapshotMgmt_INTERFACE_DEFINED__
  111. #define __IVssSnapshotMgmt_INTERFACE_DEFINED__
  112. /* interface IVssSnapshotMgmt */
  113. /* [unique][helpstring][uuid][object] */
  114. EXTERN_C const IID IID_IVssSnapshotMgmt;
  115. #if defined(__cplusplus) && !defined(CINTERFACE)
  116. MIDL_INTERFACE("FA7DF749-66E7-4986-A27F-E2F04AE53772")
  117. IVssSnapshotMgmt : public IUnknown
  118. {
  119. public:
  120. virtual HRESULT STDMETHODCALLTYPE GetProviderMgmtInterface(
  121. /* [in] */ VSS_ID ProviderId,
  122. /* [in] */ REFIID InterfaceId,
  123. /* [iid_is][out] */ IUnknown **ppItf) = 0;
  124. virtual HRESULT STDMETHODCALLTYPE QueryVolumesSupportedForSnapshots(
  125. /* [in] */ VSS_ID ProviderId,
  126. /* [in] */ LONG lContext,
  127. /* [out] */ IVssEnumMgmtObject **ppEnum) = 0;
  128. virtual HRESULT STDMETHODCALLTYPE QuerySnapshotsByVolume(
  129. /* [in] */ VSS_PWSZ pwszVolumeName,
  130. /* [in] */ VSS_ID ProviderId,
  131. /* [out] */ IVssEnumObject **ppEnum) = 0;
  132. };
  133. #else /* C style interface */
  134. typedef struct IVssSnapshotMgmtVtbl
  135. {
  136. BEGIN_INTERFACE
  137. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  138. IVssSnapshotMgmt * This,
  139. /* [in] */ REFIID riid,
  140. /* [iid_is][out] */ void **ppvObject);
  141. ULONG ( STDMETHODCALLTYPE *AddRef )(
  142. IVssSnapshotMgmt * This);
  143. ULONG ( STDMETHODCALLTYPE *Release )(
  144. IVssSnapshotMgmt * This);
  145. HRESULT ( STDMETHODCALLTYPE *GetProviderMgmtInterface )(
  146. IVssSnapshotMgmt * This,
  147. /* [in] */ VSS_ID ProviderId,
  148. /* [in] */ REFIID InterfaceId,
  149. /* [iid_is][out] */ IUnknown **ppItf);
  150. HRESULT ( STDMETHODCALLTYPE *QueryVolumesSupportedForSnapshots )(
  151. IVssSnapshotMgmt * This,
  152. /* [in] */ VSS_ID ProviderId,
  153. /* [in] */ LONG lContext,
  154. /* [out] */ IVssEnumMgmtObject **ppEnum);
  155. HRESULT ( STDMETHODCALLTYPE *QuerySnapshotsByVolume )(
  156. IVssSnapshotMgmt * This,
  157. /* [in] */ VSS_PWSZ pwszVolumeName,
  158. /* [in] */ VSS_ID ProviderId,
  159. /* [out] */ IVssEnumObject **ppEnum);
  160. END_INTERFACE
  161. } IVssSnapshotMgmtVtbl;
  162. interface IVssSnapshotMgmt
  163. {
  164. CONST_VTBL struct IVssSnapshotMgmtVtbl *lpVtbl;
  165. };
  166. #ifdef COBJMACROS
  167. #define IVssSnapshotMgmt_QueryInterface(This,riid,ppvObject) \
  168. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  169. #define IVssSnapshotMgmt_AddRef(This) \
  170. (This)->lpVtbl -> AddRef(This)
  171. #define IVssSnapshotMgmt_Release(This) \
  172. (This)->lpVtbl -> Release(This)
  173. #define IVssSnapshotMgmt_GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf) \
  174. (This)->lpVtbl -> GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf)
  175. #define IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum) \
  176. (This)->lpVtbl -> QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum)
  177. #define IVssSnapshotMgmt_QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum) \
  178. (This)->lpVtbl -> QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum)
  179. #endif /* COBJMACROS */
  180. #endif /* C style interface */
  181. HRESULT STDMETHODCALLTYPE IVssSnapshotMgmt_GetProviderMgmtInterface_Proxy(
  182. IVssSnapshotMgmt * This,
  183. /* [in] */ VSS_ID ProviderId,
  184. /* [in] */ REFIID InterfaceId,
  185. /* [iid_is][out] */ IUnknown **ppItf);
  186. void __RPC_STUB IVssSnapshotMgmt_GetProviderMgmtInterface_Stub(
  187. IRpcStubBuffer *This,
  188. IRpcChannelBuffer *_pRpcChannelBuffer,
  189. PRPC_MESSAGE _pRpcMessage,
  190. DWORD *_pdwStubPhase);
  191. HRESULT STDMETHODCALLTYPE IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots_Proxy(
  192. IVssSnapshotMgmt * This,
  193. /* [in] */ VSS_ID ProviderId,
  194. /* [in] */ LONG lContext,
  195. /* [out] */ IVssEnumMgmtObject **ppEnum);
  196. void __RPC_STUB IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots_Stub(
  197. IRpcStubBuffer *This,
  198. IRpcChannelBuffer *_pRpcChannelBuffer,
  199. PRPC_MESSAGE _pRpcMessage,
  200. DWORD *_pdwStubPhase);
  201. HRESULT STDMETHODCALLTYPE IVssSnapshotMgmt_QuerySnapshotsByVolume_Proxy(
  202. IVssSnapshotMgmt * This,
  203. /* [in] */ VSS_PWSZ pwszVolumeName,
  204. /* [in] */ VSS_ID ProviderId,
  205. /* [out] */ IVssEnumObject **ppEnum);
  206. void __RPC_STUB IVssSnapshotMgmt_QuerySnapshotsByVolume_Stub(
  207. IRpcStubBuffer *This,
  208. IRpcChannelBuffer *_pRpcChannelBuffer,
  209. PRPC_MESSAGE _pRpcMessage,
  210. DWORD *_pdwStubPhase);
  211. #endif /* __IVssSnapshotMgmt_INTERFACE_DEFINED__ */
  212. #ifndef __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__
  213. #define __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__
  214. /* interface IVssDifferentialSoftwareSnapshotMgmt */
  215. /* [unique][helpstring][uuid][object] */
  216. EXTERN_C const IID IID_IVssDifferentialSoftwareSnapshotMgmt;
  217. #if defined(__cplusplus) && !defined(CINTERFACE)
  218. MIDL_INTERFACE("214A0F28-B737-4026-B847-4F9E37D79529")
  219. IVssDifferentialSoftwareSnapshotMgmt : public IUnknown
  220. {
  221. public:
  222. virtual HRESULT STDMETHODCALLTYPE AddDiffArea(
  223. /* [in] */ VSS_PWSZ pwszVolumeName,
  224. /* [in] */ VSS_PWSZ pwszDiffAreaVolumeName,
  225. /* [in] */ LONGLONG llMaximumDiffSpace) = 0;
  226. virtual HRESULT STDMETHODCALLTYPE ChangeDiffAreaMaximumSize(
  227. /* [in] */ VSS_PWSZ pwszVolumeName,
  228. /* [in] */ VSS_PWSZ pwszDiffAreaVolumeName,
  229. /* [in] */ LONGLONG llMaximumDiffSpace) = 0;
  230. virtual HRESULT STDMETHODCALLTYPE QueryVolumesSupportedForDiffAreas(
  231. /* [in] */ VSS_PWSZ pwszOriginalVolumeName,
  232. /* [out] */ IVssEnumMgmtObject **ppEnum) = 0;
  233. virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasForVolume(
  234. /* [in] */ VSS_PWSZ pwszVolumeName,
  235. /* [out] */ IVssEnumMgmtObject **ppEnum) = 0;
  236. virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasOnVolume(
  237. /* [in] */ VSS_PWSZ pwszVolumeName,
  238. /* [out] */ IVssEnumMgmtObject **ppEnum) = 0;
  239. virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasForSnapshot(
  240. /* [in] */ VSS_ID SnapshotId,
  241. /* [out] */ IVssEnumMgmtObject **ppEnum) = 0;
  242. };
  243. #else /* C style interface */
  244. typedef struct IVssDifferentialSoftwareSnapshotMgmtVtbl
  245. {
  246. BEGIN_INTERFACE
  247. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  248. IVssDifferentialSoftwareSnapshotMgmt * This,
  249. /* [in] */ REFIID riid,
  250. /* [iid_is][out] */ void **ppvObject);
  251. ULONG ( STDMETHODCALLTYPE *AddRef )(
  252. IVssDifferentialSoftwareSnapshotMgmt * This);
  253. ULONG ( STDMETHODCALLTYPE *Release )(
  254. IVssDifferentialSoftwareSnapshotMgmt * This);
  255. HRESULT ( STDMETHODCALLTYPE *AddDiffArea )(
  256. IVssDifferentialSoftwareSnapshotMgmt * This,
  257. /* [in] */ VSS_PWSZ pwszVolumeName,
  258. /* [in] */ VSS_PWSZ pwszDiffAreaVolumeName,
  259. /* [in] */ LONGLONG llMaximumDiffSpace);
  260. HRESULT ( STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize )(
  261. IVssDifferentialSoftwareSnapshotMgmt * This,
  262. /* [in] */ VSS_PWSZ pwszVolumeName,
  263. /* [in] */ VSS_PWSZ pwszDiffAreaVolumeName,
  264. /* [in] */ LONGLONG llMaximumDiffSpace);
  265. HRESULT ( STDMETHODCALLTYPE *QueryVolumesSupportedForDiffAreas )(
  266. IVssDifferentialSoftwareSnapshotMgmt * This,
  267. /* [in] */ VSS_PWSZ pwszOriginalVolumeName,
  268. /* [out] */ IVssEnumMgmtObject **ppEnum);
  269. HRESULT ( STDMETHODCALLTYPE *QueryDiffAreasForVolume )(
  270. IVssDifferentialSoftwareSnapshotMgmt * This,
  271. /* [in] */ VSS_PWSZ pwszVolumeName,
  272. /* [out] */ IVssEnumMgmtObject **ppEnum);
  273. HRESULT ( STDMETHODCALLTYPE *QueryDiffAreasOnVolume )(
  274. IVssDifferentialSoftwareSnapshotMgmt * This,
  275. /* [in] */ VSS_PWSZ pwszVolumeName,
  276. /* [out] */ IVssEnumMgmtObject **ppEnum);
  277. HRESULT ( STDMETHODCALLTYPE *QueryDiffAreasForSnapshot )(
  278. IVssDifferentialSoftwareSnapshotMgmt * This,
  279. /* [in] */ VSS_ID SnapshotId,
  280. /* [out] */ IVssEnumMgmtObject **ppEnum);
  281. END_INTERFACE
  282. } IVssDifferentialSoftwareSnapshotMgmtVtbl;
  283. interface IVssDifferentialSoftwareSnapshotMgmt
  284. {
  285. CONST_VTBL struct IVssDifferentialSoftwareSnapshotMgmtVtbl *lpVtbl;
  286. };
  287. #ifdef COBJMACROS
  288. #define IVssDifferentialSoftwareSnapshotMgmt_QueryInterface(This,riid,ppvObject) \
  289. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  290. #define IVssDifferentialSoftwareSnapshotMgmt_AddRef(This) \
  291. (This)->lpVtbl -> AddRef(This)
  292. #define IVssDifferentialSoftwareSnapshotMgmt_Release(This) \
  293. (This)->lpVtbl -> Release(This)
  294. #define IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) \
  295. (This)->lpVtbl -> AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
  296. #define IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) \
  297. (This)->lpVtbl -> ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
  298. #define IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) \
  299. (This)->lpVtbl -> QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)
  300. #define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) \
  301. (This)->lpVtbl -> QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)
  302. #define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) \
  303. (This)->lpVtbl -> QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)
  304. #define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) \
  305. (This)->lpVtbl -> QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)
  306. #endif /* COBJMACROS */
  307. #endif /* C style interface */
  308. HRESULT STDMETHODCALLTYPE IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea_Proxy(
  309. IVssDifferentialSoftwareSnapshotMgmt * This,
  310. /* [in] */ VSS_PWSZ pwszVolumeName,
  311. /* [in] */ VSS_PWSZ pwszDiffAreaVolumeName,
  312. /* [in] */ LONGLONG llMaximumDiffSpace);
  313. void __RPC_STUB IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea_Stub(
  314. IRpcStubBuffer *This,
  315. IRpcChannelBuffer *_pRpcChannelBuffer,
  316. PRPC_MESSAGE _pRpcMessage,
  317. DWORD *_pdwStubPhase);
  318. HRESULT STDMETHODCALLTYPE IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize_Proxy(
  319. IVssDifferentialSoftwareSnapshotMgmt * This,
  320. /* [in] */ VSS_PWSZ pwszVolumeName,
  321. /* [in] */ VSS_PWSZ pwszDiffAreaVolumeName,
  322. /* [in] */ LONGLONG llMaximumDiffSpace);
  323. void __RPC_STUB IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize_Stub(
  324. IRpcStubBuffer *This,
  325. IRpcChannelBuffer *_pRpcChannelBuffer,
  326. PRPC_MESSAGE _pRpcMessage,
  327. DWORD *_pdwStubPhase);
  328. HRESULT STDMETHODCALLTYPE IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas_Proxy(
  329. IVssDifferentialSoftwareSnapshotMgmt * This,
  330. /* [in] */ VSS_PWSZ pwszOriginalVolumeName,
  331. /* [out] */ IVssEnumMgmtObject **ppEnum);
  332. void __RPC_STUB IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas_Stub(
  333. IRpcStubBuffer *This,
  334. IRpcChannelBuffer *_pRpcChannelBuffer,
  335. PRPC_MESSAGE _pRpcMessage,
  336. DWORD *_pdwStubPhase);
  337. HRESULT STDMETHODCALLTYPE IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume_Proxy(
  338. IVssDifferentialSoftwareSnapshotMgmt * This,
  339. /* [in] */ VSS_PWSZ pwszVolumeName,
  340. /* [out] */ IVssEnumMgmtObject **ppEnum);
  341. void __RPC_STUB IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume_Stub(
  342. IRpcStubBuffer *This,
  343. IRpcChannelBuffer *_pRpcChannelBuffer,
  344. PRPC_MESSAGE _pRpcMessage,
  345. DWORD *_pdwStubPhase);
  346. HRESULT STDMETHODCALLTYPE IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume_Proxy(
  347. IVssDifferentialSoftwareSnapshotMgmt * This,
  348. /* [in] */ VSS_PWSZ pwszVolumeName,
  349. /* [out] */ IVssEnumMgmtObject **ppEnum);
  350. void __RPC_STUB IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume_Stub(
  351. IRpcStubBuffer *This,
  352. IRpcChannelBuffer *_pRpcChannelBuffer,
  353. PRPC_MESSAGE _pRpcMessage,
  354. DWORD *_pdwStubPhase);
  355. HRESULT STDMETHODCALLTYPE IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot_Proxy(
  356. IVssDifferentialSoftwareSnapshotMgmt * This,
  357. /* [in] */ VSS_ID SnapshotId,
  358. /* [out] */ IVssEnumMgmtObject **ppEnum);
  359. void __RPC_STUB IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot_Stub(
  360. IRpcStubBuffer *This,
  361. IRpcChannelBuffer *_pRpcChannelBuffer,
  362. PRPC_MESSAGE _pRpcMessage,
  363. DWORD *_pdwStubPhase);
  364. #endif /* __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__ */
  365. #ifndef __IVssEnumMgmtObject_INTERFACE_DEFINED__
  366. #define __IVssEnumMgmtObject_INTERFACE_DEFINED__
  367. /* interface IVssEnumMgmtObject */
  368. /* [unique][helpstring][uuid][object] */
  369. EXTERN_C const IID IID_IVssEnumMgmtObject;
  370. #if defined(__cplusplus) && !defined(CINTERFACE)
  371. MIDL_INTERFACE("01954E6B-9254-4e6e-808C-C9E05D007696")
  372. IVssEnumMgmtObject : public IUnknown
  373. {
  374. public:
  375. virtual HRESULT STDMETHODCALLTYPE Next(
  376. /* [in] */ ULONG celt,
  377. /* [length_is][size_is][out] */ VSS_MGMT_OBJECT_PROP *rgelt,
  378. /* [out] */ ULONG *pceltFetched) = 0;
  379. virtual HRESULT STDMETHODCALLTYPE Skip(
  380. /* [in] */ ULONG celt) = 0;
  381. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  382. virtual HRESULT STDMETHODCALLTYPE Clone(
  383. /* [out][in] */ IVssEnumMgmtObject **ppenum) = 0;
  384. };
  385. #else /* C style interface */
  386. typedef struct IVssEnumMgmtObjectVtbl
  387. {
  388. BEGIN_INTERFACE
  389. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  390. IVssEnumMgmtObject * This,
  391. /* [in] */ REFIID riid,
  392. /* [iid_is][out] */ void **ppvObject);
  393. ULONG ( STDMETHODCALLTYPE *AddRef )(
  394. IVssEnumMgmtObject * This);
  395. ULONG ( STDMETHODCALLTYPE *Release )(
  396. IVssEnumMgmtObject * This);
  397. HRESULT ( STDMETHODCALLTYPE *Next )(
  398. IVssEnumMgmtObject * This,
  399. /* [in] */ ULONG celt,
  400. /* [length_is][size_is][out] */ VSS_MGMT_OBJECT_PROP *rgelt,
  401. /* [out] */ ULONG *pceltFetched);
  402. HRESULT ( STDMETHODCALLTYPE *Skip )(
  403. IVssEnumMgmtObject * This,
  404. /* [in] */ ULONG celt);
  405. HRESULT ( STDMETHODCALLTYPE *Reset )(
  406. IVssEnumMgmtObject * This);
  407. HRESULT ( STDMETHODCALLTYPE *Clone )(
  408. IVssEnumMgmtObject * This,
  409. /* [out][in] */ IVssEnumMgmtObject **ppenum);
  410. END_INTERFACE
  411. } IVssEnumMgmtObjectVtbl;
  412. interface IVssEnumMgmtObject
  413. {
  414. CONST_VTBL struct IVssEnumMgmtObjectVtbl *lpVtbl;
  415. };
  416. #ifdef COBJMACROS
  417. #define IVssEnumMgmtObject_QueryInterface(This,riid,ppvObject) \
  418. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  419. #define IVssEnumMgmtObject_AddRef(This) \
  420. (This)->lpVtbl -> AddRef(This)
  421. #define IVssEnumMgmtObject_Release(This) \
  422. (This)->lpVtbl -> Release(This)
  423. #define IVssEnumMgmtObject_Next(This,celt,rgelt,pceltFetched) \
  424. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  425. #define IVssEnumMgmtObject_Skip(This,celt) \
  426. (This)->lpVtbl -> Skip(This,celt)
  427. #define IVssEnumMgmtObject_Reset(This) \
  428. (This)->lpVtbl -> Reset(This)
  429. #define IVssEnumMgmtObject_Clone(This,ppenum) \
  430. (This)->lpVtbl -> Clone(This,ppenum)
  431. #endif /* COBJMACROS */
  432. #endif /* C style interface */
  433. HRESULT STDMETHODCALLTYPE IVssEnumMgmtObject_Next_Proxy(
  434. IVssEnumMgmtObject * This,
  435. /* [in] */ ULONG celt,
  436. /* [length_is][size_is][out] */ VSS_MGMT_OBJECT_PROP *rgelt,
  437. /* [out] */ ULONG *pceltFetched);
  438. void __RPC_STUB IVssEnumMgmtObject_Next_Stub(
  439. IRpcStubBuffer *This,
  440. IRpcChannelBuffer *_pRpcChannelBuffer,
  441. PRPC_MESSAGE _pRpcMessage,
  442. DWORD *_pdwStubPhase);
  443. HRESULT STDMETHODCALLTYPE IVssEnumMgmtObject_Skip_Proxy(
  444. IVssEnumMgmtObject * This,
  445. /* [in] */ ULONG celt);
  446. void __RPC_STUB IVssEnumMgmtObject_Skip_Stub(
  447. IRpcStubBuffer *This,
  448. IRpcChannelBuffer *_pRpcChannelBuffer,
  449. PRPC_MESSAGE _pRpcMessage,
  450. DWORD *_pdwStubPhase);
  451. HRESULT STDMETHODCALLTYPE IVssEnumMgmtObject_Reset_Proxy(
  452. IVssEnumMgmtObject * This);
  453. void __RPC_STUB IVssEnumMgmtObject_Reset_Stub(
  454. IRpcStubBuffer *This,
  455. IRpcChannelBuffer *_pRpcChannelBuffer,
  456. PRPC_MESSAGE _pRpcMessage,
  457. DWORD *_pdwStubPhase);
  458. HRESULT STDMETHODCALLTYPE IVssEnumMgmtObject_Clone_Proxy(
  459. IVssEnumMgmtObject * This,
  460. /* [out][in] */ IVssEnumMgmtObject **ppenum);
  461. void __RPC_STUB IVssEnumMgmtObject_Clone_Stub(
  462. IRpcStubBuffer *This,
  463. IRpcChannelBuffer *_pRpcChannelBuffer,
  464. PRPC_MESSAGE _pRpcMessage,
  465. DWORD *_pdwStubPhase);
  466. #endif /* __IVssEnumMgmtObject_INTERFACE_DEFINED__ */
  467. #ifndef __VSMGMT_LIBRARY_DEFINED__
  468. #define __VSMGMT_LIBRARY_DEFINED__
  469. /* library VSMGMT */
  470. /* [helpstring][version][uuid] */
  471. EXTERN_C const IID LIBID_VSMGMT;
  472. EXTERN_C const CLSID CLSID_VssSnapshotMgmt;
  473. #ifdef __cplusplus
  474. class DECLSPEC_UUID("0B5A2C52-3EB9-470a-96E2-6C6D4570E40F")
  475. VssSnapshotMgmt;
  476. #endif
  477. #endif /* __VSMGMT_LIBRARY_DEFINED__ */
  478. /* Additional Prototypes for ALL interfaces */
  479. /* end of Additional Prototypes */
  480. #ifdef __cplusplus
  481. }
  482. #endif
  483. #endif