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.

877 lines
28 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for vscoordint.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, robust
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  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 __vscoordint_h__
  27. #define __vscoordint_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IVssCoordinator_FWD_DEFINED__
  33. #define __IVssCoordinator_FWD_DEFINED__
  34. typedef interface IVssCoordinator IVssCoordinator;
  35. #endif /* __IVssCoordinator_FWD_DEFINED__ */
  36. #ifndef __IVssShim_FWD_DEFINED__
  37. #define __IVssShim_FWD_DEFINED__
  38. typedef interface IVssShim IVssShim;
  39. #endif /* __IVssShim_FWD_DEFINED__ */
  40. #ifndef __IVssAdmin_FWD_DEFINED__
  41. #define __IVssAdmin_FWD_DEFINED__
  42. typedef interface IVssAdmin IVssAdmin;
  43. #endif /* __IVssAdmin_FWD_DEFINED__ */
  44. #ifndef __VSSCoordinator_FWD_DEFINED__
  45. #define __VSSCoordinator_FWD_DEFINED__
  46. #ifdef __cplusplus
  47. typedef class VSSCoordinator VSSCoordinator;
  48. #else
  49. typedef struct VSSCoordinator VSSCoordinator;
  50. #endif /* __cplusplus */
  51. #endif /* __VSSCoordinator_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. #ifndef __IVssCoordinator_INTERFACE_DEFINED__
  62. #define __IVssCoordinator_INTERFACE_DEFINED__
  63. /* interface IVssCoordinator */
  64. /* [unique][helpstring][uuid][object] */
  65. EXTERN_C const IID IID_IVssCoordinator;
  66. #if defined(__cplusplus) && !defined(CINTERFACE)
  67. MIDL_INTERFACE("93BA4344-AA56-403e-87F2-819650FEDACD")
  68. IVssCoordinator : public IUnknown
  69. {
  70. public:
  71. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetContext(
  72. /* [in] */ LONG lContext) = 0;
  73. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StartSnapshotSet(
  74. /* [out] */ VSS_ID *pSnapshotSetId) = 0;
  75. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddToSnapshotSet(
  76. /* [in] */ VSS_PWSZ pwszVolumeName,
  77. /* [in] */ VSS_ID ProviderId,
  78. /* [out] */ VSS_ID *pSnapshotId) = 0;
  79. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DoSnapshotSet(
  80. /* [in] */ IDispatch *pWriterCallback,
  81. /* [out] */ IVssAsync **ppAsync) = 0;
  82. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSnapshotProperties(
  83. /* [in] */ VSS_ID SnapshotId,
  84. /* [out] */ VSS_SNAPSHOT_PROP *pProp) = 0;
  85. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExposeSnapshot(
  86. /* [in] */ VSS_ID SnapshotId,
  87. /* [in] */ VSS_PWSZ wszPathFromRoot,
  88. /* [in] */ LONG lAttributes,
  89. /* [in] */ VSS_PWSZ wszExpose,
  90. /* [out] */ VSS_PWSZ *pwszExposed) = 0;
  91. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemountReadWrite(
  92. /* [in] */ VSS_ID SnapshotId,
  93. /* [out] */ IVssAsync **ppAsync) = 0;
  94. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ImportSnapshots(
  95. /* [in] */ BSTR bstrXMLSnapshotSet,
  96. /* [out] */ IVssAsync **ppAsync) = 0;
  97. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Query(
  98. /* [in] */ VSS_ID QueriedObjectId,
  99. /* [in] */ VSS_OBJECT_TYPE eQueriedObjectType,
  100. /* [in] */ VSS_OBJECT_TYPE eReturnedObjectsType,
  101. /* [out] */ IVssEnumObject **ppEnum) = 0;
  102. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeleteSnapshots(
  103. /* [in] */ VSS_ID SourceObjectId,
  104. /* [in] */ VSS_OBJECT_TYPE eSourceObjectType,
  105. /* [in] */ BOOL bForceDelete,
  106. /* [out] */ LONG *plDeletedSnapshots,
  107. /* [out] */ VSS_ID *pNondeletedSnapshotID) = 0;
  108. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BreakSnapshotSet(
  109. /* [in] */ VSS_ID SnapshotSetId) = 0;
  110. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsVolumeSupported(
  111. /* [in] */ VSS_ID ProviderId,
  112. /* [in] */ VSS_PWSZ pwszVolumeName,
  113. /* [out] */ BOOL *pbSupportedByThisProvider) = 0;
  114. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsVolumeSnapshotted(
  115. /* [in] */ VSS_ID ProviderId,
  116. /* [in] */ VSS_PWSZ pwszVolumeName,
  117. /* [out] */ BOOL *pbSnapshotsPresent,
  118. /* [out] */ LONG *plSnapshotCompatibility) = 0;
  119. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetWriterInstances(
  120. /* [in] */ LONG lWriterInstanceIdCount,
  121. /* [size_is][unique][in] */ VSS_ID *rgWriterInstanceId) = 0;
  122. };
  123. #else /* C style interface */
  124. typedef struct IVssCoordinatorVtbl
  125. {
  126. BEGIN_INTERFACE
  127. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  128. IVssCoordinator * This,
  129. /* [in] */ REFIID riid,
  130. /* [iid_is][out] */ void **ppvObject);
  131. ULONG ( STDMETHODCALLTYPE *AddRef )(
  132. IVssCoordinator * This);
  133. ULONG ( STDMETHODCALLTYPE *Release )(
  134. IVssCoordinator * This);
  135. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetContext )(
  136. IVssCoordinator * This,
  137. /* [in] */ LONG lContext);
  138. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *StartSnapshotSet )(
  139. IVssCoordinator * This,
  140. /* [out] */ VSS_ID *pSnapshotSetId);
  141. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddToSnapshotSet )(
  142. IVssCoordinator * This,
  143. /* [in] */ VSS_PWSZ pwszVolumeName,
  144. /* [in] */ VSS_ID ProviderId,
  145. /* [out] */ VSS_ID *pSnapshotId);
  146. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DoSnapshotSet )(
  147. IVssCoordinator * This,
  148. /* [in] */ IDispatch *pWriterCallback,
  149. /* [out] */ IVssAsync **ppAsync);
  150. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSnapshotProperties )(
  151. IVssCoordinator * This,
  152. /* [in] */ VSS_ID SnapshotId,
  153. /* [out] */ VSS_SNAPSHOT_PROP *pProp);
  154. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ExposeSnapshot )(
  155. IVssCoordinator * This,
  156. /* [in] */ VSS_ID SnapshotId,
  157. /* [in] */ VSS_PWSZ wszPathFromRoot,
  158. /* [in] */ LONG lAttributes,
  159. /* [in] */ VSS_PWSZ wszExpose,
  160. /* [out] */ VSS_PWSZ *pwszExposed);
  161. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemountReadWrite )(
  162. IVssCoordinator * This,
  163. /* [in] */ VSS_ID SnapshotId,
  164. /* [out] */ IVssAsync **ppAsync);
  165. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ImportSnapshots )(
  166. IVssCoordinator * This,
  167. /* [in] */ BSTR bstrXMLSnapshotSet,
  168. /* [out] */ IVssAsync **ppAsync);
  169. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Query )(
  170. IVssCoordinator * This,
  171. /* [in] */ VSS_ID QueriedObjectId,
  172. /* [in] */ VSS_OBJECT_TYPE eQueriedObjectType,
  173. /* [in] */ VSS_OBJECT_TYPE eReturnedObjectsType,
  174. /* [out] */ IVssEnumObject **ppEnum);
  175. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeleteSnapshots )(
  176. IVssCoordinator * This,
  177. /* [in] */ VSS_ID SourceObjectId,
  178. /* [in] */ VSS_OBJECT_TYPE eSourceObjectType,
  179. /* [in] */ BOOL bForceDelete,
  180. /* [out] */ LONG *plDeletedSnapshots,
  181. /* [out] */ VSS_ID *pNondeletedSnapshotID);
  182. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BreakSnapshotSet )(
  183. IVssCoordinator * This,
  184. /* [in] */ VSS_ID SnapshotSetId);
  185. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsVolumeSupported )(
  186. IVssCoordinator * This,
  187. /* [in] */ VSS_ID ProviderId,
  188. /* [in] */ VSS_PWSZ pwszVolumeName,
  189. /* [out] */ BOOL *pbSupportedByThisProvider);
  190. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *IsVolumeSnapshotted )(
  191. IVssCoordinator * This,
  192. /* [in] */ VSS_ID ProviderId,
  193. /* [in] */ VSS_PWSZ pwszVolumeName,
  194. /* [out] */ BOOL *pbSnapshotsPresent,
  195. /* [out] */ LONG *plSnapshotCompatibility);
  196. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetWriterInstances )(
  197. IVssCoordinator * This,
  198. /* [in] */ LONG lWriterInstanceIdCount,
  199. /* [size_is][unique][in] */ VSS_ID *rgWriterInstanceId);
  200. END_INTERFACE
  201. } IVssCoordinatorVtbl;
  202. interface IVssCoordinator
  203. {
  204. CONST_VTBL struct IVssCoordinatorVtbl *lpVtbl;
  205. };
  206. #ifdef COBJMACROS
  207. #define IVssCoordinator_QueryInterface(This,riid,ppvObject) \
  208. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  209. #define IVssCoordinator_AddRef(This) \
  210. (This)->lpVtbl -> AddRef(This)
  211. #define IVssCoordinator_Release(This) \
  212. (This)->lpVtbl -> Release(This)
  213. #define IVssCoordinator_SetContext(This,lContext) \
  214. (This)->lpVtbl -> SetContext(This,lContext)
  215. #define IVssCoordinator_StartSnapshotSet(This,pSnapshotSetId) \
  216. (This)->lpVtbl -> StartSnapshotSet(This,pSnapshotSetId)
  217. #define IVssCoordinator_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pSnapshotId) \
  218. (This)->lpVtbl -> AddToSnapshotSet(This,pwszVolumeName,ProviderId,pSnapshotId)
  219. #define IVssCoordinator_DoSnapshotSet(This,pWriterCallback,ppAsync) \
  220. (This)->lpVtbl -> DoSnapshotSet(This,pWriterCallback,ppAsync)
  221. #define IVssCoordinator_GetSnapshotProperties(This,SnapshotId,pProp) \
  222. (This)->lpVtbl -> GetSnapshotProperties(This,SnapshotId,pProp)
  223. #define IVssCoordinator_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) \
  224. (This)->lpVtbl -> ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed)
  225. #define IVssCoordinator_RemountReadWrite(This,SnapshotId,ppAsync) \
  226. (This)->lpVtbl -> RemountReadWrite(This,SnapshotId,ppAsync)
  227. #define IVssCoordinator_ImportSnapshots(This,bstrXMLSnapshotSet,ppAsync) \
  228. (This)->lpVtbl -> ImportSnapshots(This,bstrXMLSnapshotSet,ppAsync)
  229. #define IVssCoordinator_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) \
  230. (This)->lpVtbl -> Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
  231. #define IVssCoordinator_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) \
  232. (This)->lpVtbl -> DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
  233. #define IVssCoordinator_BreakSnapshotSet(This,SnapshotSetId) \
  234. (This)->lpVtbl -> BreakSnapshotSet(This,SnapshotSetId)
  235. #define IVssCoordinator_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) \
  236. (This)->lpVtbl -> IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider)
  237. #define IVssCoordinator_IsVolumeSnapshotted(This,ProviderId,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility) \
  238. (This)->lpVtbl -> IsVolumeSnapshotted(This,ProviderId,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility)
  239. #define IVssCoordinator_SetWriterInstances(This,lWriterInstanceIdCount,rgWriterInstanceId) \
  240. (This)->lpVtbl -> SetWriterInstances(This,lWriterInstanceIdCount,rgWriterInstanceId)
  241. #endif /* COBJMACROS */
  242. #endif /* C style interface */
  243. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_SetContext_Proxy(
  244. IVssCoordinator * This,
  245. /* [in] */ LONG lContext);
  246. void __RPC_STUB IVssCoordinator_SetContext_Stub(
  247. IRpcStubBuffer *This,
  248. IRpcChannelBuffer *_pRpcChannelBuffer,
  249. PRPC_MESSAGE _pRpcMessage,
  250. DWORD *_pdwStubPhase);
  251. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_StartSnapshotSet_Proxy(
  252. IVssCoordinator * This,
  253. /* [out] */ VSS_ID *pSnapshotSetId);
  254. void __RPC_STUB IVssCoordinator_StartSnapshotSet_Stub(
  255. IRpcStubBuffer *This,
  256. IRpcChannelBuffer *_pRpcChannelBuffer,
  257. PRPC_MESSAGE _pRpcMessage,
  258. DWORD *_pdwStubPhase);
  259. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_AddToSnapshotSet_Proxy(
  260. IVssCoordinator * This,
  261. /* [in] */ VSS_PWSZ pwszVolumeName,
  262. /* [in] */ VSS_ID ProviderId,
  263. /* [out] */ VSS_ID *pSnapshotId);
  264. void __RPC_STUB IVssCoordinator_AddToSnapshotSet_Stub(
  265. IRpcStubBuffer *This,
  266. IRpcChannelBuffer *_pRpcChannelBuffer,
  267. PRPC_MESSAGE _pRpcMessage,
  268. DWORD *_pdwStubPhase);
  269. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_DoSnapshotSet_Proxy(
  270. IVssCoordinator * This,
  271. /* [in] */ IDispatch *pWriterCallback,
  272. /* [out] */ IVssAsync **ppAsync);
  273. void __RPC_STUB IVssCoordinator_DoSnapshotSet_Stub(
  274. IRpcStubBuffer *This,
  275. IRpcChannelBuffer *_pRpcChannelBuffer,
  276. PRPC_MESSAGE _pRpcMessage,
  277. DWORD *_pdwStubPhase);
  278. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_GetSnapshotProperties_Proxy(
  279. IVssCoordinator * This,
  280. /* [in] */ VSS_ID SnapshotId,
  281. /* [out] */ VSS_SNAPSHOT_PROP *pProp);
  282. void __RPC_STUB IVssCoordinator_GetSnapshotProperties_Stub(
  283. IRpcStubBuffer *This,
  284. IRpcChannelBuffer *_pRpcChannelBuffer,
  285. PRPC_MESSAGE _pRpcMessage,
  286. DWORD *_pdwStubPhase);
  287. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_ExposeSnapshot_Proxy(
  288. IVssCoordinator * This,
  289. /* [in] */ VSS_ID SnapshotId,
  290. /* [in] */ VSS_PWSZ wszPathFromRoot,
  291. /* [in] */ LONG lAttributes,
  292. /* [in] */ VSS_PWSZ wszExpose,
  293. /* [out] */ VSS_PWSZ *pwszExposed);
  294. void __RPC_STUB IVssCoordinator_ExposeSnapshot_Stub(
  295. IRpcStubBuffer *This,
  296. IRpcChannelBuffer *_pRpcChannelBuffer,
  297. PRPC_MESSAGE _pRpcMessage,
  298. DWORD *_pdwStubPhase);
  299. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_RemountReadWrite_Proxy(
  300. IVssCoordinator * This,
  301. /* [in] */ VSS_ID SnapshotId,
  302. /* [out] */ IVssAsync **ppAsync);
  303. void __RPC_STUB IVssCoordinator_RemountReadWrite_Stub(
  304. IRpcStubBuffer *This,
  305. IRpcChannelBuffer *_pRpcChannelBuffer,
  306. PRPC_MESSAGE _pRpcMessage,
  307. DWORD *_pdwStubPhase);
  308. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_ImportSnapshots_Proxy(
  309. IVssCoordinator * This,
  310. /* [in] */ BSTR bstrXMLSnapshotSet,
  311. /* [out] */ IVssAsync **ppAsync);
  312. void __RPC_STUB IVssCoordinator_ImportSnapshots_Stub(
  313. IRpcStubBuffer *This,
  314. IRpcChannelBuffer *_pRpcChannelBuffer,
  315. PRPC_MESSAGE _pRpcMessage,
  316. DWORD *_pdwStubPhase);
  317. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_Query_Proxy(
  318. IVssCoordinator * This,
  319. /* [in] */ VSS_ID QueriedObjectId,
  320. /* [in] */ VSS_OBJECT_TYPE eQueriedObjectType,
  321. /* [in] */ VSS_OBJECT_TYPE eReturnedObjectsType,
  322. /* [out] */ IVssEnumObject **ppEnum);
  323. void __RPC_STUB IVssCoordinator_Query_Stub(
  324. IRpcStubBuffer *This,
  325. IRpcChannelBuffer *_pRpcChannelBuffer,
  326. PRPC_MESSAGE _pRpcMessage,
  327. DWORD *_pdwStubPhase);
  328. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_DeleteSnapshots_Proxy(
  329. IVssCoordinator * This,
  330. /* [in] */ VSS_ID SourceObjectId,
  331. /* [in] */ VSS_OBJECT_TYPE eSourceObjectType,
  332. /* [in] */ BOOL bForceDelete,
  333. /* [out] */ LONG *plDeletedSnapshots,
  334. /* [out] */ VSS_ID *pNondeletedSnapshotID);
  335. void __RPC_STUB IVssCoordinator_DeleteSnapshots_Stub(
  336. IRpcStubBuffer *This,
  337. IRpcChannelBuffer *_pRpcChannelBuffer,
  338. PRPC_MESSAGE _pRpcMessage,
  339. DWORD *_pdwStubPhase);
  340. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_BreakSnapshotSet_Proxy(
  341. IVssCoordinator * This,
  342. /* [in] */ VSS_ID SnapshotSetId);
  343. void __RPC_STUB IVssCoordinator_BreakSnapshotSet_Stub(
  344. IRpcStubBuffer *This,
  345. IRpcChannelBuffer *_pRpcChannelBuffer,
  346. PRPC_MESSAGE _pRpcMessage,
  347. DWORD *_pdwStubPhase);
  348. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_IsVolumeSupported_Proxy(
  349. IVssCoordinator * This,
  350. /* [in] */ VSS_ID ProviderId,
  351. /* [in] */ VSS_PWSZ pwszVolumeName,
  352. /* [out] */ BOOL *pbSupportedByThisProvider);
  353. void __RPC_STUB IVssCoordinator_IsVolumeSupported_Stub(
  354. IRpcStubBuffer *This,
  355. IRpcChannelBuffer *_pRpcChannelBuffer,
  356. PRPC_MESSAGE _pRpcMessage,
  357. DWORD *_pdwStubPhase);
  358. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_IsVolumeSnapshotted_Proxy(
  359. IVssCoordinator * This,
  360. /* [in] */ VSS_ID ProviderId,
  361. /* [in] */ VSS_PWSZ pwszVolumeName,
  362. /* [out] */ BOOL *pbSnapshotsPresent,
  363. /* [out] */ LONG *plSnapshotCompatibility);
  364. void __RPC_STUB IVssCoordinator_IsVolumeSnapshotted_Stub(
  365. IRpcStubBuffer *This,
  366. IRpcChannelBuffer *_pRpcChannelBuffer,
  367. PRPC_MESSAGE _pRpcMessage,
  368. DWORD *_pdwStubPhase);
  369. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssCoordinator_SetWriterInstances_Proxy(
  370. IVssCoordinator * This,
  371. /* [in] */ LONG lWriterInstanceIdCount,
  372. /* [size_is][unique][in] */ VSS_ID *rgWriterInstanceId);
  373. void __RPC_STUB IVssCoordinator_SetWriterInstances_Stub(
  374. IRpcStubBuffer *This,
  375. IRpcChannelBuffer *_pRpcChannelBuffer,
  376. PRPC_MESSAGE _pRpcMessage,
  377. DWORD *_pdwStubPhase);
  378. #endif /* __IVssCoordinator_INTERFACE_DEFINED__ */
  379. #ifndef __IVssShim_INTERFACE_DEFINED__
  380. #define __IVssShim_INTERFACE_DEFINED__
  381. /* interface IVssShim */
  382. /* [unique][helpstring][uuid][object] */
  383. EXTERN_C const IID IID_IVssShim;
  384. #if defined(__cplusplus) && !defined(CINTERFACE)
  385. MIDL_INTERFACE("D6222095-05C3-42f3-81D9-A4A0CEC05C26")
  386. IVssShim : public IUnknown
  387. {
  388. public:
  389. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SimulateSnapshotFreeze(
  390. /* [in] */ VSS_ID guidSnapshotSetId,
  391. /* [in] */ ULONG ulOptionFlags,
  392. /* [in] */ ULONG ulVolumeCount,
  393. /* [size_is][size_is][unique][in] */ VSS_PWSZ *ppwszVolumeNamesArray,
  394. /* [out] */ IVssAsync **ppAsync) = 0;
  395. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SimulateSnapshotThaw(
  396. /* [in] */ VSS_ID guidSnapshotSetId) = 0;
  397. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WaitForSubscribingCompletion( void) = 0;
  398. };
  399. #else /* C style interface */
  400. typedef struct IVssShimVtbl
  401. {
  402. BEGIN_INTERFACE
  403. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  404. IVssShim * This,
  405. /* [in] */ REFIID riid,
  406. /* [iid_is][out] */ void **ppvObject);
  407. ULONG ( STDMETHODCALLTYPE *AddRef )(
  408. IVssShim * This);
  409. ULONG ( STDMETHODCALLTYPE *Release )(
  410. IVssShim * This);
  411. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SimulateSnapshotFreeze )(
  412. IVssShim * This,
  413. /* [in] */ VSS_ID guidSnapshotSetId,
  414. /* [in] */ ULONG ulOptionFlags,
  415. /* [in] */ ULONG ulVolumeCount,
  416. /* [size_is][size_is][unique][in] */ VSS_PWSZ *ppwszVolumeNamesArray,
  417. /* [out] */ IVssAsync **ppAsync);
  418. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SimulateSnapshotThaw )(
  419. IVssShim * This,
  420. /* [in] */ VSS_ID guidSnapshotSetId);
  421. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WaitForSubscribingCompletion )(
  422. IVssShim * This);
  423. END_INTERFACE
  424. } IVssShimVtbl;
  425. interface IVssShim
  426. {
  427. CONST_VTBL struct IVssShimVtbl *lpVtbl;
  428. };
  429. #ifdef COBJMACROS
  430. #define IVssShim_QueryInterface(This,riid,ppvObject) \
  431. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  432. #define IVssShim_AddRef(This) \
  433. (This)->lpVtbl -> AddRef(This)
  434. #define IVssShim_Release(This) \
  435. (This)->lpVtbl -> Release(This)
  436. #define IVssShim_SimulateSnapshotFreeze(This,guidSnapshotSetId,ulOptionFlags,ulVolumeCount,ppwszVolumeNamesArray,ppAsync) \
  437. (This)->lpVtbl -> SimulateSnapshotFreeze(This,guidSnapshotSetId,ulOptionFlags,ulVolumeCount,ppwszVolumeNamesArray,ppAsync)
  438. #define IVssShim_SimulateSnapshotThaw(This,guidSnapshotSetId) \
  439. (This)->lpVtbl -> SimulateSnapshotThaw(This,guidSnapshotSetId)
  440. #define IVssShim_WaitForSubscribingCompletion(This) \
  441. (This)->lpVtbl -> WaitForSubscribingCompletion(This)
  442. #endif /* COBJMACROS */
  443. #endif /* C style interface */
  444. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssShim_SimulateSnapshotFreeze_Proxy(
  445. IVssShim * This,
  446. /* [in] */ VSS_ID guidSnapshotSetId,
  447. /* [in] */ ULONG ulOptionFlags,
  448. /* [in] */ ULONG ulVolumeCount,
  449. /* [size_is][size_is][unique][in] */ VSS_PWSZ *ppwszVolumeNamesArray,
  450. /* [out] */ IVssAsync **ppAsync);
  451. void __RPC_STUB IVssShim_SimulateSnapshotFreeze_Stub(
  452. IRpcStubBuffer *This,
  453. IRpcChannelBuffer *_pRpcChannelBuffer,
  454. PRPC_MESSAGE _pRpcMessage,
  455. DWORD *_pdwStubPhase);
  456. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssShim_SimulateSnapshotThaw_Proxy(
  457. IVssShim * This,
  458. /* [in] */ VSS_ID guidSnapshotSetId);
  459. void __RPC_STUB IVssShim_SimulateSnapshotThaw_Stub(
  460. IRpcStubBuffer *This,
  461. IRpcChannelBuffer *_pRpcChannelBuffer,
  462. PRPC_MESSAGE _pRpcMessage,
  463. DWORD *_pdwStubPhase);
  464. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssShim_WaitForSubscribingCompletion_Proxy(
  465. IVssShim * This);
  466. void __RPC_STUB IVssShim_WaitForSubscribingCompletion_Stub(
  467. IRpcStubBuffer *This,
  468. IRpcChannelBuffer *_pRpcChannelBuffer,
  469. PRPC_MESSAGE _pRpcMessage,
  470. DWORD *_pdwStubPhase);
  471. #endif /* __IVssShim_INTERFACE_DEFINED__ */
  472. #ifndef __IVssAdmin_INTERFACE_DEFINED__
  473. #define __IVssAdmin_INTERFACE_DEFINED__
  474. /* interface IVssAdmin */
  475. /* [unique][helpstring][uuid][object] */
  476. EXTERN_C const IID IID_IVssAdmin;
  477. #if defined(__cplusplus) && !defined(CINTERFACE)
  478. MIDL_INTERFACE("77ED5996-2F63-11d3-8A39-00C04F72D8E3")
  479. IVssAdmin : public IUnknown
  480. {
  481. public:
  482. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterProvider(
  483. /* [in] */ VSS_ID pProviderId,
  484. /* [in] */ CLSID ClassId,
  485. /* [in] */ VSS_PWSZ pwszProviderName,
  486. /* [in] */ VSS_PROVIDER_TYPE eProviderType,
  487. /* [in] */ VSS_PWSZ pwszProviderVersion,
  488. /* [in] */ VSS_ID ProviderVersionId) = 0;
  489. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterProvider(
  490. /* [in] */ VSS_ID ProviderId) = 0;
  491. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryProviders(
  492. /* [out] */ IVssEnumObject **ppEnum) = 0;
  493. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AbortAllSnapshotsInProgress( void) = 0;
  494. };
  495. #else /* C style interface */
  496. typedef struct IVssAdminVtbl
  497. {
  498. BEGIN_INTERFACE
  499. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  500. IVssAdmin * This,
  501. /* [in] */ REFIID riid,
  502. /* [iid_is][out] */ void **ppvObject);
  503. ULONG ( STDMETHODCALLTYPE *AddRef )(
  504. IVssAdmin * This);
  505. ULONG ( STDMETHODCALLTYPE *Release )(
  506. IVssAdmin * This);
  507. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterProvider )(
  508. IVssAdmin * This,
  509. /* [in] */ VSS_ID pProviderId,
  510. /* [in] */ CLSID ClassId,
  511. /* [in] */ VSS_PWSZ pwszProviderName,
  512. /* [in] */ VSS_PROVIDER_TYPE eProviderType,
  513. /* [in] */ VSS_PWSZ pwszProviderVersion,
  514. /* [in] */ VSS_ID ProviderVersionId);
  515. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterProvider )(
  516. IVssAdmin * This,
  517. /* [in] */ VSS_ID ProviderId);
  518. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryProviders )(
  519. IVssAdmin * This,
  520. /* [out] */ IVssEnumObject **ppEnum);
  521. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AbortAllSnapshotsInProgress )(
  522. IVssAdmin * This);
  523. END_INTERFACE
  524. } IVssAdminVtbl;
  525. interface IVssAdmin
  526. {
  527. CONST_VTBL struct IVssAdminVtbl *lpVtbl;
  528. };
  529. #ifdef COBJMACROS
  530. #define IVssAdmin_QueryInterface(This,riid,ppvObject) \
  531. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  532. #define IVssAdmin_AddRef(This) \
  533. (This)->lpVtbl -> AddRef(This)
  534. #define IVssAdmin_Release(This) \
  535. (This)->lpVtbl -> Release(This)
  536. #define IVssAdmin_RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId) \
  537. (This)->lpVtbl -> RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId)
  538. #define IVssAdmin_UnregisterProvider(This,ProviderId) \
  539. (This)->lpVtbl -> UnregisterProvider(This,ProviderId)
  540. #define IVssAdmin_QueryProviders(This,ppEnum) \
  541. (This)->lpVtbl -> QueryProviders(This,ppEnum)
  542. #define IVssAdmin_AbortAllSnapshotsInProgress(This) \
  543. (This)->lpVtbl -> AbortAllSnapshotsInProgress(This)
  544. #endif /* COBJMACROS */
  545. #endif /* C style interface */
  546. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssAdmin_RegisterProvider_Proxy(
  547. IVssAdmin * This,
  548. /* [in] */ VSS_ID pProviderId,
  549. /* [in] */ CLSID ClassId,
  550. /* [in] */ VSS_PWSZ pwszProviderName,
  551. /* [in] */ VSS_PROVIDER_TYPE eProviderType,
  552. /* [in] */ VSS_PWSZ pwszProviderVersion,
  553. /* [in] */ VSS_ID ProviderVersionId);
  554. void __RPC_STUB IVssAdmin_RegisterProvider_Stub(
  555. IRpcStubBuffer *This,
  556. IRpcChannelBuffer *_pRpcChannelBuffer,
  557. PRPC_MESSAGE _pRpcMessage,
  558. DWORD *_pdwStubPhase);
  559. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssAdmin_UnregisterProvider_Proxy(
  560. IVssAdmin * This,
  561. /* [in] */ VSS_ID ProviderId);
  562. void __RPC_STUB IVssAdmin_UnregisterProvider_Stub(
  563. IRpcStubBuffer *This,
  564. IRpcChannelBuffer *_pRpcChannelBuffer,
  565. PRPC_MESSAGE _pRpcMessage,
  566. DWORD *_pdwStubPhase);
  567. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssAdmin_QueryProviders_Proxy(
  568. IVssAdmin * This,
  569. /* [out] */ IVssEnumObject **ppEnum);
  570. void __RPC_STUB IVssAdmin_QueryProviders_Stub(
  571. IRpcStubBuffer *This,
  572. IRpcChannelBuffer *_pRpcChannelBuffer,
  573. PRPC_MESSAGE _pRpcMessage,
  574. DWORD *_pdwStubPhase);
  575. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssAdmin_AbortAllSnapshotsInProgress_Proxy(
  576. IVssAdmin * This);
  577. void __RPC_STUB IVssAdmin_AbortAllSnapshotsInProgress_Stub(
  578. IRpcStubBuffer *This,
  579. IRpcChannelBuffer *_pRpcChannelBuffer,
  580. PRPC_MESSAGE _pRpcMessage,
  581. DWORD *_pdwStubPhase);
  582. #endif /* __IVssAdmin_INTERFACE_DEFINED__ */
  583. #ifndef __VSS_LIBRARY_DEFINED__
  584. #define __VSS_LIBRARY_DEFINED__
  585. /* library VSS */
  586. /* [helpstring][version][uuid] */
  587. EXTERN_C const IID LIBID_VSS;
  588. EXTERN_C const CLSID CLSID_VSSCoordinator;
  589. #ifdef __cplusplus
  590. class DECLSPEC_UUID("E579AB5F-1CC4-44b4-BED9-DE0991FF0623")
  591. VSSCoordinator;
  592. #endif
  593. #endif /* __VSS_LIBRARY_DEFINED__ */
  594. /* Additional Prototypes for ALL interfaces */
  595. unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
  596. unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
  597. unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
  598. void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
  599. /* end of Additional Prototypes */
  600. #ifdef __cplusplus
  601. }
  602. #endif
  603. #endif