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.

630 lines
17 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 vss.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 __vss_h__
  27. #define __vss_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IVssEnumObject_FWD_DEFINED__
  33. #define __IVssEnumObject_FWD_DEFINED__
  34. typedef interface IVssEnumObject IVssEnumObject;
  35. #endif /* __IVssEnumObject_FWD_DEFINED__ */
  36. #ifndef __IVssAsync_FWD_DEFINED__
  37. #define __IVssAsync_FWD_DEFINED__
  38. typedef interface IVssAsync IVssAsync;
  39. #endif /* __IVssAsync_FWD_DEFINED__ */
  40. /* header files for imported files */
  41. #include "oaidl.h"
  42. #include "ocidl.h"
  43. #ifdef __cplusplus
  44. extern "C"{
  45. #endif
  46. void * __RPC_USER MIDL_user_allocate(size_t);
  47. void __RPC_USER MIDL_user_free( void * );
  48. /* interface __MIDL_itf_vss_0000 */
  49. /* [local] */
  50. typedef
  51. enum _VSS_OBJECT_TYPE
  52. { VSS_OBJECT_UNKNOWN = 0,
  53. VSS_OBJECT_NONE = VSS_OBJECT_UNKNOWN + 1,
  54. VSS_OBJECT_SNAPSHOT_SET = VSS_OBJECT_NONE + 1,
  55. VSS_OBJECT_SNAPSHOT = VSS_OBJECT_SNAPSHOT_SET + 1,
  56. VSS_OBJECT_PROVIDER = VSS_OBJECT_SNAPSHOT + 1,
  57. VSS_OBJECT_TYPE_COUNT = VSS_OBJECT_PROVIDER + 1
  58. } VSS_OBJECT_TYPE;
  59. typedef enum _VSS_OBJECT_TYPE *PVSS_OBJECT_TYPE;
  60. typedef
  61. enum _VSS_SNAPSHOT_STATE
  62. { VSS_SS_UNKNOWN = 0,
  63. VSS_SS_PREPARING = VSS_SS_UNKNOWN + 1,
  64. VSS_SS_PROCESSING_PREPARE = VSS_SS_PREPARING + 1,
  65. VSS_SS_PREPARED = VSS_SS_PROCESSING_PREPARE + 1,
  66. VSS_SS_PROCESSING_PRECOMMIT = VSS_SS_PREPARED + 1,
  67. VSS_SS_PRECOMMITTED = VSS_SS_PROCESSING_PRECOMMIT + 1,
  68. VSS_SS_PROCESSING_COMMIT = VSS_SS_PRECOMMITTED + 1,
  69. VSS_SS_COMMITTED = VSS_SS_PROCESSING_COMMIT + 1,
  70. VSS_SS_PROCESSING_POSTCOMMIT = VSS_SS_COMMITTED + 1,
  71. VSS_SS_CREATED = VSS_SS_PROCESSING_POSTCOMMIT + 1,
  72. VSS_SS_ABORTED = VSS_SS_CREATED + 1,
  73. VSS_SS_DELETED = VSS_SS_ABORTED + 1,
  74. VSS_SS_COUNT = VSS_SS_DELETED + 1
  75. } VSS_SNAPSHOT_STATE;
  76. typedef enum _VSS_SNAPSHOT_STATE *PVSS_SNAPSHOT_STATE;
  77. enum _VSS_VOLUME_SNAPSHOT_ATTRIBUTES
  78. { VSS_VOLSNAP_ATTR_PERSISTENT = 0x1,
  79. VSS_VOLSNAP_ATTR_READ_WRITE = 0x2,
  80. VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE = 0x4,
  81. VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE = 0x8,
  82. VSS_VOLSNAP_ATTR_NO_WRITERS = 0x10,
  83. VSS_VOLSNAP_ATTR_TRANSPORTABLE = 0x20,
  84. VSS_VOLSNAP_ATTR_NOT_SURFACED = 0x40,
  85. VSS_VOLSNAP_ATTR_HARDWARE_ASSISTED = 0x10000,
  86. VSS_VOLSNAP_ATTR_DIFFERENTIAL = 0x20000,
  87. VSS_VOLSNAP_ATTR_PLEX = 0x40000,
  88. VSS_VOLSNAP_ATTR_IMPORTED = 0x80000,
  89. VSS_VOLSNAP_ATTR_EXPOSED_LOCALLY = 0x100000,
  90. VSS_VOLSNAP_ATTR_EXPOSED_REMOTELY = 0x200000
  91. } ;
  92. enum _VSS_SNAPSHOT_CONTEXT
  93. { VSS_CTX_BACKUP = 0,
  94. VSS_CTX_FILE_SHARE_BACKUP = VSS_VOLSNAP_ATTR_NO_WRITERS,
  95. VSS_CTX_NAS_ROLLBACK = VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE | VSS_VOLSNAP_ATTR_NO_WRITERS,
  96. VSS_CTX_APP_ROLLBACK = VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE,
  97. VSS_CTX_CLIENT_ACCESSIBLE = VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE | VSS_VOLSNAP_ATTR_NO_WRITERS,
  98. VSS_CTX_PERSISTENT_CLIENT_ACCESSIBLE = VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE | VSS_VOLSNAP_ATTR_NO_WRITERS,
  99. VSS_CTX_ALL = 0xffffffff
  100. } ;
  101. typedef
  102. enum _VSS_WRITER_STATE
  103. { VSS_WS_UNKNOWN = 0,
  104. VSS_WS_STABLE = VSS_WS_UNKNOWN + 1,
  105. VSS_WS_WAITING_FOR_FREEZE = VSS_WS_STABLE + 1,
  106. VSS_WS_WAITING_FOR_THAW = VSS_WS_WAITING_FOR_FREEZE + 1,
  107. VSS_WS_WAITING_FOR_POST_SNAPSHOT = VSS_WS_WAITING_FOR_THAW + 1,
  108. VSS_WS_WAITING_FOR_BACKUP_COMPLETE = VSS_WS_WAITING_FOR_POST_SNAPSHOT + 1,
  109. VSS_WS_FAILED_AT_IDENTIFY = VSS_WS_WAITING_FOR_BACKUP_COMPLETE + 1,
  110. VSS_WS_FAILED_AT_PREPARE_BACKUP = VSS_WS_FAILED_AT_IDENTIFY + 1,
  111. VSS_WS_FAILED_AT_PREPARE_SNAPSHOT = VSS_WS_FAILED_AT_PREPARE_BACKUP + 1,
  112. VSS_WS_FAILED_AT_FREEZE = VSS_WS_FAILED_AT_PREPARE_SNAPSHOT + 1,
  113. VSS_WS_FAILED_AT_THAW = VSS_WS_FAILED_AT_FREEZE + 1,
  114. VSS_WS_FAILED_AT_POST_SNAPSHOT = VSS_WS_FAILED_AT_THAW + 1,
  115. VSS_WS_FAILED_AT_BACKUP_COMPLETE = VSS_WS_FAILED_AT_POST_SNAPSHOT + 1,
  116. VSS_WS_FAILED_AT_PRE_RESTORE = VSS_WS_FAILED_AT_BACKUP_COMPLETE + 1,
  117. VSS_WS_FAILED_AT_POST_RESTORE = VSS_WS_FAILED_AT_PRE_RESTORE + 1,
  118. VSS_WS_COUNT = VSS_WS_FAILED_AT_POST_RESTORE + 1
  119. } VSS_WRITER_STATE;
  120. typedef enum _VSS_WRITER_STATE *PVSS_WRITER_STATE;
  121. typedef
  122. enum _VSS_BACKUP_TYPE
  123. { VSS_BT_UNDEFINED = 0,
  124. VSS_BT_FULL = VSS_BT_UNDEFINED + 1,
  125. VSS_BT_INCREMENTAL = VSS_BT_FULL + 1,
  126. VSS_BT_DIFFERENTIAL = VSS_BT_INCREMENTAL + 1,
  127. VSS_BT_LOG = VSS_BT_DIFFERENTIAL + 1,
  128. VSS_BT_OTHER = VSS_BT_LOG + 1
  129. } VSS_BACKUP_TYPE;
  130. typedef
  131. enum _VSS_PROVIDER_TYPE
  132. { VSS_PROV_UNKNOWN = 0,
  133. VSS_PROV_SYSTEM = 1,
  134. VSS_PROV_SOFTWARE = 2,
  135. VSS_PROV_HARDWARE = 3
  136. } VSS_PROVIDER_TYPE;
  137. typedef enum _VSS_PROVIDER_TYPE *PVSS_PROVIDER_TYPE;
  138. typedef
  139. enum _VSS_APPLICATION_LEVEL
  140. { VSS_APP_UNKNOWN = 0,
  141. VSS_APP_SYSTEM = 1,
  142. VSS_APP_BACK_END = 2,
  143. VSS_APP_FRONT_END = 3,
  144. VSS_APP_AUTO = -1
  145. } VSS_APPLICATION_LEVEL;
  146. typedef enum _VSS_APPLICATION_LEVEL *PVSS_APPLICATION_LEVEL;
  147. typedef
  148. enum _VSS_SNAPSHOT_COMPATIBILITY
  149. { VSS_SC_DISABLE_DEFRAG = 0x1,
  150. VSS_SC_DISABLE_CONTENTINDEX = 0x2
  151. } VSS_SNAPSHOT_COMPATIBILITY;
  152. typedef
  153. enum _VSS_SNAPSHOT_PROPERTY_ID
  154. { VSS_SPROPID_UNKNOWN = 0,
  155. VSS_SPROPID_SNAPSHOT_ID = 0x1,
  156. VSS_SPROPID_SNAPSHOT_SET_ID = 0x2,
  157. VSS_SPROPID_SNAPSHOTS_COUNT = 0x3,
  158. VSS_SPROPID_SNAPSHOT_DEVICE = 0x4,
  159. VSS_SPROPID_ORIGINAL_VOLUME = 0x5,
  160. VSS_SPROPID_ORIGINATING_MACHINE = 0x6,
  161. VSS_SPROPID_SERVICE_MACHINE = 0x7,
  162. VSS_SPROPID_EXPOSED_NAME = 0x8,
  163. VSS_SPROPID_EXPOSED_PATH = 0x9,
  164. VSS_SPROPID_PROVIDER_ID = 0xa,
  165. VSS_SPROPID_SNAPSHOT_ATTRIBUTES = 0xb,
  166. VSS_SPROPID_CREATION_TIMESTAMP = 0xc,
  167. VSS_SPROPID_STATUS = 0xd
  168. } VSS_SNAPSHOT_PROPERTY_ID;
  169. typedef enum _VSS_SNAPSHOT_PROPERTY_ID *PVSS_SNAPSHOT_PROPERTY_ID;
  170. typedef GUID VSS_ID;
  171. typedef /* [string][unique] */ WCHAR *VSS_PWSZ;
  172. typedef LONGLONG VSS_TIMESTAMP;
  173. typedef struct _VSS_SNAPSHOT_PROP
  174. {
  175. VSS_ID m_SnapshotId;
  176. VSS_ID m_SnapshotSetId;
  177. LONG m_lSnapshotsCount;
  178. VSS_PWSZ m_pwszSnapshotDeviceObject;
  179. VSS_PWSZ m_pwszOriginalVolumeName;
  180. VSS_PWSZ m_pwszOriginatingMachine;
  181. VSS_PWSZ m_pwszServiceMachine;
  182. VSS_PWSZ m_pwszExposedName;
  183. VSS_PWSZ m_pwszExposedPath;
  184. VSS_ID m_ProviderId;
  185. LONG m_lSnapshotAttributes;
  186. VSS_TIMESTAMP m_tsCreationTimestamp;
  187. VSS_SNAPSHOT_STATE m_eStatus;
  188. } VSS_SNAPSHOT_PROP;
  189. typedef struct _VSS_SNAPSHOT_PROP *PVSS_SNAPSHOT_PROP;
  190. typedef struct _VSS_PROVIDER_PROP
  191. {
  192. VSS_ID m_ProviderId;
  193. VSS_PWSZ m_pwszProviderName;
  194. VSS_PROVIDER_TYPE m_eProviderType;
  195. VSS_PWSZ m_pwszProviderVersion;
  196. VSS_ID m_ProviderVersionId;
  197. CLSID m_ClassId;
  198. } VSS_PROVIDER_PROP;
  199. typedef struct _VSS_PROVIDER_PROP *PVSS_PROVIDER_PROP;
  200. typedef /* [public][public][public][public][switch_type] */ union __MIDL___MIDL_itf_vss_0000_0001
  201. {
  202. /* [case()] */ VSS_SNAPSHOT_PROP Snap;
  203. /* [case()] */ VSS_PROVIDER_PROP Prov;
  204. /* [default] */ /* Empty union arm */
  205. } VSS_OBJECT_UNION;
  206. typedef struct _VSS_OBJECT_PROP
  207. {
  208. VSS_OBJECT_TYPE Type;
  209. /* [switch_is] */ VSS_OBJECT_UNION Obj;
  210. } VSS_OBJECT_PROP;
  211. typedef struct _VSS_OBJECT_PROP *PVSS_OBJECT_PROP;
  212. extern RPC_IF_HANDLE __MIDL_itf_vss_0000_v0_0_c_ifspec;
  213. extern RPC_IF_HANDLE __MIDL_itf_vss_0000_v0_0_s_ifspec;
  214. #ifndef __IVssEnumObject_INTERFACE_DEFINED__
  215. #define __IVssEnumObject_INTERFACE_DEFINED__
  216. /* interface IVssEnumObject */
  217. /* [unique][helpstring][uuid][object] */
  218. EXTERN_C const IID IID_IVssEnumObject;
  219. #if defined(__cplusplus) && !defined(CINTERFACE)
  220. MIDL_INTERFACE("AE1C7110-2F60-11d3-8A39-00C04F72D8E3")
  221. IVssEnumObject : public IUnknown
  222. {
  223. public:
  224. virtual HRESULT STDMETHODCALLTYPE Next(
  225. /* [in] */ ULONG celt,
  226. /* [length_is][size_is][out] */ VSS_OBJECT_PROP *rgelt,
  227. /* [out] */ ULONG *pceltFetched) = 0;
  228. virtual HRESULT STDMETHODCALLTYPE Skip(
  229. /* [in] */ ULONG celt) = 0;
  230. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  231. virtual HRESULT STDMETHODCALLTYPE Clone(
  232. /* [out][in] */ IVssEnumObject **ppenum) = 0;
  233. };
  234. #else /* C style interface */
  235. typedef struct IVssEnumObjectVtbl
  236. {
  237. BEGIN_INTERFACE
  238. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  239. IVssEnumObject * This,
  240. /* [in] */ REFIID riid,
  241. /* [iid_is][out] */ void **ppvObject);
  242. ULONG ( STDMETHODCALLTYPE *AddRef )(
  243. IVssEnumObject * This);
  244. ULONG ( STDMETHODCALLTYPE *Release )(
  245. IVssEnumObject * This);
  246. HRESULT ( STDMETHODCALLTYPE *Next )(
  247. IVssEnumObject * This,
  248. /* [in] */ ULONG celt,
  249. /* [length_is][size_is][out] */ VSS_OBJECT_PROP *rgelt,
  250. /* [out] */ ULONG *pceltFetched);
  251. HRESULT ( STDMETHODCALLTYPE *Skip )(
  252. IVssEnumObject * This,
  253. /* [in] */ ULONG celt);
  254. HRESULT ( STDMETHODCALLTYPE *Reset )(
  255. IVssEnumObject * This);
  256. HRESULT ( STDMETHODCALLTYPE *Clone )(
  257. IVssEnumObject * This,
  258. /* [out][in] */ IVssEnumObject **ppenum);
  259. END_INTERFACE
  260. } IVssEnumObjectVtbl;
  261. interface IVssEnumObject
  262. {
  263. CONST_VTBL struct IVssEnumObjectVtbl *lpVtbl;
  264. };
  265. #ifdef COBJMACROS
  266. #define IVssEnumObject_QueryInterface(This,riid,ppvObject) \
  267. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  268. #define IVssEnumObject_AddRef(This) \
  269. (This)->lpVtbl -> AddRef(This)
  270. #define IVssEnumObject_Release(This) \
  271. (This)->lpVtbl -> Release(This)
  272. #define IVssEnumObject_Next(This,celt,rgelt,pceltFetched) \
  273. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  274. #define IVssEnumObject_Skip(This,celt) \
  275. (This)->lpVtbl -> Skip(This,celt)
  276. #define IVssEnumObject_Reset(This) \
  277. (This)->lpVtbl -> Reset(This)
  278. #define IVssEnumObject_Clone(This,ppenum) \
  279. (This)->lpVtbl -> Clone(This,ppenum)
  280. #endif /* COBJMACROS */
  281. #endif /* C style interface */
  282. HRESULT STDMETHODCALLTYPE IVssEnumObject_Next_Proxy(
  283. IVssEnumObject * This,
  284. /* [in] */ ULONG celt,
  285. /* [length_is][size_is][out] */ VSS_OBJECT_PROP *rgelt,
  286. /* [out] */ ULONG *pceltFetched);
  287. void __RPC_STUB IVssEnumObject_Next_Stub(
  288. IRpcStubBuffer *This,
  289. IRpcChannelBuffer *_pRpcChannelBuffer,
  290. PRPC_MESSAGE _pRpcMessage,
  291. DWORD *_pdwStubPhase);
  292. HRESULT STDMETHODCALLTYPE IVssEnumObject_Skip_Proxy(
  293. IVssEnumObject * This,
  294. /* [in] */ ULONG celt);
  295. void __RPC_STUB IVssEnumObject_Skip_Stub(
  296. IRpcStubBuffer *This,
  297. IRpcChannelBuffer *_pRpcChannelBuffer,
  298. PRPC_MESSAGE _pRpcMessage,
  299. DWORD *_pdwStubPhase);
  300. HRESULT STDMETHODCALLTYPE IVssEnumObject_Reset_Proxy(
  301. IVssEnumObject * This);
  302. void __RPC_STUB IVssEnumObject_Reset_Stub(
  303. IRpcStubBuffer *This,
  304. IRpcChannelBuffer *_pRpcChannelBuffer,
  305. PRPC_MESSAGE _pRpcMessage,
  306. DWORD *_pdwStubPhase);
  307. HRESULT STDMETHODCALLTYPE IVssEnumObject_Clone_Proxy(
  308. IVssEnumObject * This,
  309. /* [out][in] */ IVssEnumObject **ppenum);
  310. void __RPC_STUB IVssEnumObject_Clone_Stub(
  311. IRpcStubBuffer *This,
  312. IRpcChannelBuffer *_pRpcChannelBuffer,
  313. PRPC_MESSAGE _pRpcMessage,
  314. DWORD *_pdwStubPhase);
  315. #endif /* __IVssEnumObject_INTERFACE_DEFINED__ */
  316. #ifndef __IVssAsync_INTERFACE_DEFINED__
  317. #define __IVssAsync_INTERFACE_DEFINED__
  318. /* interface IVssAsync */
  319. /* [unique][helpstring][uuid][object] */
  320. EXTERN_C const IID IID_IVssAsync;
  321. #if defined(__cplusplus) && !defined(CINTERFACE)
  322. MIDL_INTERFACE("C7B98A22-222D-4e62-B875-1A44980634AF")
  323. IVssAsync : public IUnknown
  324. {
  325. public:
  326. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  327. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Wait( void) = 0;
  328. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryStatus(
  329. /* [out] */ HRESULT *pHrResult,
  330. /* [unique][out][in] */ INT *pReserved) = 0;
  331. };
  332. #else /* C style interface */
  333. typedef struct IVssAsyncVtbl
  334. {
  335. BEGIN_INTERFACE
  336. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  337. IVssAsync * This,
  338. /* [in] */ REFIID riid,
  339. /* [iid_is][out] */ void **ppvObject);
  340. ULONG ( STDMETHODCALLTYPE *AddRef )(
  341. IVssAsync * This);
  342. ULONG ( STDMETHODCALLTYPE *Release )(
  343. IVssAsync * This);
  344. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Cancel )(
  345. IVssAsync * This);
  346. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Wait )(
  347. IVssAsync * This);
  348. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryStatus )(
  349. IVssAsync * This,
  350. /* [out] */ HRESULT *pHrResult,
  351. /* [unique][out][in] */ INT *pReserved);
  352. END_INTERFACE
  353. } IVssAsyncVtbl;
  354. interface IVssAsync
  355. {
  356. CONST_VTBL struct IVssAsyncVtbl *lpVtbl;
  357. };
  358. #ifdef COBJMACROS
  359. #define IVssAsync_QueryInterface(This,riid,ppvObject) \
  360. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  361. #define IVssAsync_AddRef(This) \
  362. (This)->lpVtbl -> AddRef(This)
  363. #define IVssAsync_Release(This) \
  364. (This)->lpVtbl -> Release(This)
  365. #define IVssAsync_Cancel(This) \
  366. (This)->lpVtbl -> Cancel(This)
  367. #define IVssAsync_Wait(This) \
  368. (This)->lpVtbl -> Wait(This)
  369. #define IVssAsync_QueryStatus(This,pHrResult,pReserved) \
  370. (This)->lpVtbl -> QueryStatus(This,pHrResult,pReserved)
  371. #endif /* COBJMACROS */
  372. #endif /* C style interface */
  373. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssAsync_Cancel_Proxy(
  374. IVssAsync * This);
  375. void __RPC_STUB IVssAsync_Cancel_Stub(
  376. IRpcStubBuffer *This,
  377. IRpcChannelBuffer *_pRpcChannelBuffer,
  378. PRPC_MESSAGE _pRpcMessage,
  379. DWORD *_pdwStubPhase);
  380. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssAsync_Wait_Proxy(
  381. IVssAsync * This);
  382. void __RPC_STUB IVssAsync_Wait_Stub(
  383. IRpcStubBuffer *This,
  384. IRpcChannelBuffer *_pRpcChannelBuffer,
  385. PRPC_MESSAGE _pRpcMessage,
  386. DWORD *_pdwStubPhase);
  387. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssAsync_QueryStatus_Proxy(
  388. IVssAsync * This,
  389. /* [out] */ HRESULT *pHrResult,
  390. /* [unique][out][in] */ INT *pReserved);
  391. void __RPC_STUB IVssAsync_QueryStatus_Stub(
  392. IRpcStubBuffer *This,
  393. IRpcChannelBuffer *_pRpcChannelBuffer,
  394. PRPC_MESSAGE _pRpcMessage,
  395. DWORD *_pdwStubPhase);
  396. #endif /* __IVssAsync_INTERFACE_DEFINED__ */
  397. /* interface __MIDL_itf_vss_0254 */
  398. /* [local] */
  399. #define VSS_E_BAD_STATE ( 0x80042301L )
  400. #define VSS_E_PROVIDER_ALREADY_REGISTERED ( 0x80042303L )
  401. #define VSS_E_PROVIDER_NOT_REGISTERED ( 0x80042304L )
  402. #define VSS_E_PROVIDER_VETO ( 0x80042306L )
  403. #define VSS_E_PROVIDER_IN_USE ( 0x80042307L )
  404. #define VSS_E_OBJECT_NOT_FOUND ( 0x80042308L )
  405. #define VSS_S_ASYNC_PENDING ( 0x42309L )
  406. #define VSS_S_ASYNC_FINISHED ( 0x4230aL )
  407. #define VSS_S_ASYNC_CANCELLED ( 0x4230bL )
  408. #define VSS_E_VOLUME_NOT_SUPPORTED ( 0x8004230cL )
  409. #define VSS_E_VOLUME_NOT_SUPPORTED_BY_PROVIDER ( 0x8004230eL )
  410. #define VSS_E_OBJECT_ALREADY_EXISTS ( 0x8004230dL )
  411. #define VSS_E_UNEXPECTED_PROVIDER_ERROR ( 0x8004230fL )
  412. #define VSS_E_CORRUPT_XML_DOCUMENT ( 0x80042310L )
  413. #define VSS_E_INVALID_XML_DOCUMENT ( 0x80042311L )
  414. #define VSS_E_MAXIMUM_NUMBER_OF_VOLUMES_REACHED ( 0x80042312L )
  415. #define VSS_E_FLUSH_WRITES_TIMEOUT ( 0x80042313L )
  416. #define VSS_E_HOLD_WRITES_TIMEOUT ( 0x80042314L )
  417. #define VSS_E_UNEXPECTED_WRITER_ERROR ( 0x80042315L )
  418. #define VSS_E_SNAPSHOT_SET_IN_PROGRESS ( 0x80042316L )
  419. #define VSS_E_MAXIMUM_NUMBER_OF_SNAPSHOTS_REACHED ( 0x80042317L )
  420. #define VSS_E_WRITER_INFRASTRUCTURE ( 0x80042318L )
  421. #define VSS_E_WRITER_NOT_RESPONDING ( 0x80042319L )
  422. #define VSS_E_WRITER_ALREADY_SUBSCRIBED ( 0x8004231aL )
  423. #define VSS_E_UNSUPPORTED_CONTEXT ( 0x8004231bL )
  424. #define VSS_E_VOLUME_IN_USE ( 0x8004231dL )
  425. #define VSS_E_MAXIMUM_DIFFAREA_ASSOCIATIONS_REACHED ( 0x8004231eL )
  426. #define VSS_E_INSUFFICIENT_STORAGE ( 0x8004231fL )
  427. extern RPC_IF_HANDLE __MIDL_itf_vss_0254_v0_0_c_ifspec;
  428. extern RPC_IF_HANDLE __MIDL_itf_vss_0254_v0_0_s_ifspec;
  429. /* Additional Prototypes for ALL interfaces */
  430. /* end of Additional Prototypes */
  431. #ifdef __cplusplus
  432. }
  433. #endif
  434. #endif