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.

682 lines
19 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 vss.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 __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_PROCESSING_PREFINALCOMMIT = VSS_SS_PROCESSING_POSTCOMMIT + 1,
  72. VSS_SS_PREFINALCOMMITTED = VSS_SS_PROCESSING_PREFINALCOMMIT + 1,
  73. VSS_SS_PROCESSING_POSTFINALCOMMIT = VSS_SS_PREFINALCOMMITTED + 1,
  74. VSS_SS_CREATED = VSS_SS_PROCESSING_POSTFINALCOMMIT + 1,
  75. VSS_SS_ABORTED = VSS_SS_CREATED + 1,
  76. VSS_SS_DELETED = VSS_SS_ABORTED + 1,
  77. VSS_SS_COUNT = VSS_SS_DELETED + 1
  78. } VSS_SNAPSHOT_STATE;
  79. typedef enum _VSS_SNAPSHOT_STATE *PVSS_SNAPSHOT_STATE;
  80. enum _VSS_VOLUME_SNAPSHOT_ATTRIBUTES
  81. { VSS_VOLSNAP_ATTR_PERSISTENT = 0x1,
  82. VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE = 0x4,
  83. VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE = 0x8,
  84. VSS_VOLSNAP_ATTR_NO_WRITERS = 0x10,
  85. VSS_VOLSNAP_ATTR_TRANSPORTABLE = 0x20,
  86. VSS_VOLSNAP_ATTR_NOT_SURFACED = 0x40,
  87. VSS_VOLSNAP_ATTR_HARDWARE_ASSISTED = 0x10000,
  88. VSS_VOLSNAP_ATTR_DIFFERENTIAL = 0x20000,
  89. VSS_VOLSNAP_ATTR_PLEX = 0x40000,
  90. VSS_VOLSNAP_ATTR_IMPORTED = 0x80000,
  91. VSS_VOLSNAP_ATTR_EXPOSED_LOCALLY = 0x100000,
  92. VSS_VOLSNAP_ATTR_EXPOSED_REMOTELY = 0x200000,
  93. VSS_VOLSNAP_ATTR_AUTORECOVER = 0x400000
  94. } ;
  95. enum _VSS_SNAPSHOT_CONTEXT
  96. { VSS_CTX_BACKUP = 0,
  97. VSS_CTX_FILE_SHARE_BACKUP = VSS_VOLSNAP_ATTR_NO_WRITERS,
  98. VSS_CTX_NAS_ROLLBACK = VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE | VSS_VOLSNAP_ATTR_NO_WRITERS,
  99. VSS_CTX_APP_ROLLBACK = VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE,
  100. VSS_CTX_CLIENT_ACCESSIBLE = VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE | VSS_VOLSNAP_ATTR_NO_WRITERS,
  101. VSS_CTX_ALL = 0xffffffff
  102. } ;
  103. typedef
  104. enum _VSS_WRITER_STATE
  105. { VSS_WS_UNKNOWN = 0,
  106. VSS_WS_STABLE = VSS_WS_UNKNOWN + 1,
  107. VSS_WS_WAITING_FOR_FREEZE = VSS_WS_STABLE + 1,
  108. VSS_WS_WAITING_FOR_THAW = VSS_WS_WAITING_FOR_FREEZE + 1,
  109. VSS_WS_WAITING_FOR_POST_SNAPSHOT = VSS_WS_WAITING_FOR_THAW + 1,
  110. VSS_WS_WAITING_FOR_BACKUP_COMPLETE = VSS_WS_WAITING_FOR_POST_SNAPSHOT + 1,
  111. VSS_WS_FAILED_AT_IDENTIFY = VSS_WS_WAITING_FOR_BACKUP_COMPLETE + 1,
  112. VSS_WS_FAILED_AT_PREPARE_BACKUP = VSS_WS_FAILED_AT_IDENTIFY + 1,
  113. VSS_WS_FAILED_AT_PREPARE_SNAPSHOT = VSS_WS_FAILED_AT_PREPARE_BACKUP + 1,
  114. VSS_WS_FAILED_AT_FREEZE = VSS_WS_FAILED_AT_PREPARE_SNAPSHOT + 1,
  115. VSS_WS_FAILED_AT_THAW = VSS_WS_FAILED_AT_FREEZE + 1,
  116. VSS_WS_FAILED_AT_POST_SNAPSHOT = VSS_WS_FAILED_AT_THAW + 1,
  117. VSS_WS_FAILED_AT_BACKUP_COMPLETE = VSS_WS_FAILED_AT_POST_SNAPSHOT + 1,
  118. VSS_WS_FAILED_AT_PRE_RESTORE = VSS_WS_FAILED_AT_BACKUP_COMPLETE + 1,
  119. VSS_WS_FAILED_AT_POST_RESTORE = VSS_WS_FAILED_AT_PRE_RESTORE + 1,
  120. VSS_WS_FAILED_AT_BACKUPSHUTDOWN = VSS_WS_FAILED_AT_POST_RESTORE + 1,
  121. VSS_WS_COUNT = VSS_WS_FAILED_AT_BACKUPSHUTDOWN + 1
  122. } VSS_WRITER_STATE;
  123. typedef enum _VSS_WRITER_STATE *PVSS_WRITER_STATE;
  124. typedef
  125. enum _VSS_BACKUP_TYPE
  126. { VSS_BT_UNDEFINED = 0,
  127. VSS_BT_FULL = VSS_BT_UNDEFINED + 1,
  128. VSS_BT_INCREMENTAL = VSS_BT_FULL + 1,
  129. VSS_BT_DIFFERENTIAL = VSS_BT_INCREMENTAL + 1,
  130. VSS_BT_LOG = VSS_BT_DIFFERENTIAL + 1,
  131. VSS_BT_COPY = VSS_BT_LOG + 1,
  132. VSS_BT_OTHER = VSS_BT_COPY + 1
  133. } VSS_BACKUP_TYPE;
  134. typedef
  135. enum _VSS_RESTORE_TYPE
  136. { VSS_RTYPE_UNDEFINED = 0,
  137. VSS_RTYPE_BY_COPY = VSS_RTYPE_UNDEFINED + 1,
  138. VSS_RTYPE_IMPORT = VSS_RTYPE_BY_COPY + 1,
  139. VSS_RTYPE_OTHER = VSS_RTYPE_IMPORT + 1
  140. } VSS_RESTORE_TYPE;
  141. typedef
  142. enum _VSS_PROVIDER_TYPE
  143. { VSS_PROV_UNKNOWN = 0,
  144. VSS_PROV_SYSTEM = 1,
  145. VSS_PROV_SOFTWARE = 2,
  146. VSS_PROV_HARDWARE = 3
  147. } VSS_PROVIDER_TYPE;
  148. typedef enum _VSS_PROVIDER_TYPE *PVSS_PROVIDER_TYPE;
  149. typedef
  150. enum _VSS_APPLICATION_LEVEL
  151. { VSS_APP_UNKNOWN = 0,
  152. VSS_APP_SYSTEM = 1,
  153. VSS_APP_BACK_END = 2,
  154. VSS_APP_FRONT_END = 3,
  155. VSS_APP_AUTO = -1
  156. } VSS_APPLICATION_LEVEL;
  157. typedef enum _VSS_APPLICATION_LEVEL *PVSS_APPLICATION_LEVEL;
  158. typedef
  159. enum _VSS_SNAPSHOT_COMPATIBILITY
  160. { VSS_SC_DISABLE_DEFRAG = 0x1,
  161. VSS_SC_DISABLE_CONTENTINDEX = 0x2
  162. } VSS_SNAPSHOT_COMPATIBILITY;
  163. typedef
  164. enum _VSS_SNAPSHOT_PROPERTY_ID
  165. { VSS_SPROPID_UNKNOWN = 0,
  166. VSS_SPROPID_SNAPSHOT_ID = 0x1,
  167. VSS_SPROPID_SNAPSHOT_SET_ID = 0x2,
  168. VSS_SPROPID_SNAPSHOTS_COUNT = 0x3,
  169. VSS_SPROPID_SNAPSHOT_DEVICE = 0x4,
  170. VSS_SPROPID_ORIGINAL_VOLUME = 0x5,
  171. VSS_SPROPID_ORIGINATING_MACHINE = 0x6,
  172. VSS_SPROPID_SERVICE_MACHINE = 0x7,
  173. VSS_SPROPID_EXPOSED_NAME = 0x8,
  174. VSS_SPROPID_EXPOSED_PATH = 0x9,
  175. VSS_SPROPID_PROVIDER_ID = 0xa,
  176. VSS_SPROPID_SNAPSHOT_ATTRIBUTES = 0xb,
  177. VSS_SPROPID_CREATION_TIMESTAMP = 0xc,
  178. VSS_SPROPID_STATUS = 0xd
  179. } VSS_SNAPSHOT_PROPERTY_ID;
  180. typedef enum _VSS_SNAPSHOT_PROPERTY_ID *PVSS_SNAPSHOT_PROPERTY_ID;
  181. typedef
  182. enum _VSS_FILE_SPEC_BACKUP_TYPE
  183. { VSS_FSBT_FULL_BACKUP_REQUIRED = 0x1,
  184. VSS_FSBT_DIFFERENTIAL_BACKUP_REQUIRED = 0x2,
  185. VSS_FSBT_INCREMENTAL_BACKUP_REQUIRED = 0x4,
  186. VSS_FSBT_LOG_BACKUP_REQUIRED = 0x8,
  187. VSS_FSBT_FULL_SNAPSHOT_REQUIRED = 0x100,
  188. VSS_FSBT_DIFFERENTIAL_SNAPSHOT_REQUIRED = 0x200,
  189. VSS_FSBT_INCREMENTAL_SNAPSHOT_REQUIRED = 0x400,
  190. VSS_FSBT_LOG_SNAPSHOT_REQUIRED = 0x800,
  191. VSS_FSBT_ALL_BACKUP_REQUIRED = 0xf,
  192. VSS_FSBT_ALL_SNAPSHOT_REQUIRED = 0xf00
  193. } VSS_FILE_SPEC_BACKUP_TYPE;
  194. typedef enum _VSS_FILE_SPEC_BACKUP_TYPE *PVSS_FILE_SPEC_BACKUP_TYPE;
  195. typedef
  196. enum _VSS_BACKUP_SCHEMA
  197. { VSS_BS_UNDEFINED = 0,
  198. VSS_BS_DIFFERENTIAL = 0x1,
  199. VSS_BS_INCREMENTAL = 0x2,
  200. VSS_BS_EXCLUSIVE_INCREMENTAL_DIFFERENTIAL = 0x4,
  201. VSS_BS_LOG = 0x8,
  202. VSS_BS_COPY = 0x10,
  203. VSS_BS_TIMESTAMPED = 0x20,
  204. VSS_BS_LAST_MODIFY = 0x40,
  205. VSS_BS_LSN = 0x80,
  206. VSS_BS_WRITER_SUPPORTS_NEW_TARGET = 0x100
  207. } VSS_BACKUP_SCHEMA;
  208. typedef enum _VSS_BACKUP_SCHEMA *PVSS_BACKUP_SCHEMA;
  209. typedef GUID VSS_ID;
  210. typedef /* [string][unique] */ WCHAR *VSS_PWSZ;
  211. typedef LONGLONG VSS_TIMESTAMP;
  212. typedef struct _VSS_SNAPSHOT_PROP
  213. {
  214. VSS_ID m_SnapshotId;
  215. VSS_ID m_SnapshotSetId;
  216. LONG m_lSnapshotsCount;
  217. VSS_PWSZ m_pwszSnapshotDeviceObject;
  218. VSS_PWSZ m_pwszOriginalVolumeName;
  219. VSS_PWSZ m_pwszOriginatingMachine;
  220. VSS_PWSZ m_pwszServiceMachine;
  221. VSS_PWSZ m_pwszExposedName;
  222. VSS_PWSZ m_pwszExposedPath;
  223. VSS_ID m_ProviderId;
  224. LONG m_lSnapshotAttributes;
  225. VSS_TIMESTAMP m_tsCreationTimestamp;
  226. VSS_SNAPSHOT_STATE m_eStatus;
  227. } VSS_SNAPSHOT_PROP;
  228. typedef struct _VSS_SNAPSHOT_PROP *PVSS_SNAPSHOT_PROP;
  229. typedef struct _VSS_PROVIDER_PROP
  230. {
  231. VSS_ID m_ProviderId;
  232. VSS_PWSZ m_pwszProviderName;
  233. VSS_PROVIDER_TYPE m_eProviderType;
  234. VSS_PWSZ m_pwszProviderVersion;
  235. VSS_ID m_ProviderVersionId;
  236. CLSID m_ClassId;
  237. } VSS_PROVIDER_PROP;
  238. typedef struct _VSS_PROVIDER_PROP *PVSS_PROVIDER_PROP;
  239. typedef /* [public][public][public][public][switch_type] */ union __MIDL___MIDL_itf_vss_0000_0001
  240. {
  241. /* [case()] */ VSS_SNAPSHOT_PROP Snap;
  242. /* [case()] */ VSS_PROVIDER_PROP Prov;
  243. /* [default] */ /* Empty union arm */
  244. } VSS_OBJECT_UNION;
  245. typedef struct _VSS_OBJECT_PROP
  246. {
  247. VSS_OBJECT_TYPE Type;
  248. /* [switch_is] */ VSS_OBJECT_UNION Obj;
  249. } VSS_OBJECT_PROP;
  250. typedef struct _VSS_OBJECT_PROP *PVSS_OBJECT_PROP;
  251. extern RPC_IF_HANDLE __MIDL_itf_vss_0000_v0_0_c_ifspec;
  252. extern RPC_IF_HANDLE __MIDL_itf_vss_0000_v0_0_s_ifspec;
  253. #ifndef __IVssEnumObject_INTERFACE_DEFINED__
  254. #define __IVssEnumObject_INTERFACE_DEFINED__
  255. /* interface IVssEnumObject */
  256. /* [unique][helpstring][uuid][object] */
  257. EXTERN_C const IID IID_IVssEnumObject;
  258. #if defined(__cplusplus) && !defined(CINTERFACE)
  259. MIDL_INTERFACE("AE1C7110-2F60-11d3-8A39-00C04F72D8E3")
  260. IVssEnumObject : public IUnknown
  261. {
  262. public:
  263. virtual HRESULT STDMETHODCALLTYPE Next(
  264. /* [in] */ ULONG celt,
  265. /* [length_is][size_is][out] */ VSS_OBJECT_PROP *rgelt,
  266. /* [out] */ ULONG *pceltFetched) = 0;
  267. virtual HRESULT STDMETHODCALLTYPE Skip(
  268. /* [in] */ ULONG celt) = 0;
  269. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  270. virtual HRESULT STDMETHODCALLTYPE Clone(
  271. /* [out][in] */ IVssEnumObject **ppenum) = 0;
  272. };
  273. #else /* C style interface */
  274. typedef struct IVssEnumObjectVtbl
  275. {
  276. BEGIN_INTERFACE
  277. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  278. IVssEnumObject * This,
  279. /* [in] */ REFIID riid,
  280. /* [iid_is][out] */ void **ppvObject);
  281. ULONG ( STDMETHODCALLTYPE *AddRef )(
  282. IVssEnumObject * This);
  283. ULONG ( STDMETHODCALLTYPE *Release )(
  284. IVssEnumObject * This);
  285. HRESULT ( STDMETHODCALLTYPE *Next )(
  286. IVssEnumObject * This,
  287. /* [in] */ ULONG celt,
  288. /* [length_is][size_is][out] */ VSS_OBJECT_PROP *rgelt,
  289. /* [out] */ ULONG *pceltFetched);
  290. HRESULT ( STDMETHODCALLTYPE *Skip )(
  291. IVssEnumObject * This,
  292. /* [in] */ ULONG celt);
  293. HRESULT ( STDMETHODCALLTYPE *Reset )(
  294. IVssEnumObject * This);
  295. HRESULT ( STDMETHODCALLTYPE *Clone )(
  296. IVssEnumObject * This,
  297. /* [out][in] */ IVssEnumObject **ppenum);
  298. END_INTERFACE
  299. } IVssEnumObjectVtbl;
  300. interface IVssEnumObject
  301. {
  302. CONST_VTBL struct IVssEnumObjectVtbl *lpVtbl;
  303. };
  304. #ifdef COBJMACROS
  305. #define IVssEnumObject_QueryInterface(This,riid,ppvObject) \
  306. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  307. #define IVssEnumObject_AddRef(This) \
  308. (This)->lpVtbl -> AddRef(This)
  309. #define IVssEnumObject_Release(This) \
  310. (This)->lpVtbl -> Release(This)
  311. #define IVssEnumObject_Next(This,celt,rgelt,pceltFetched) \
  312. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  313. #define IVssEnumObject_Skip(This,celt) \
  314. (This)->lpVtbl -> Skip(This,celt)
  315. #define IVssEnumObject_Reset(This) \
  316. (This)->lpVtbl -> Reset(This)
  317. #define IVssEnumObject_Clone(This,ppenum) \
  318. (This)->lpVtbl -> Clone(This,ppenum)
  319. #endif /* COBJMACROS */
  320. #endif /* C style interface */
  321. HRESULT STDMETHODCALLTYPE IVssEnumObject_Next_Proxy(
  322. IVssEnumObject * This,
  323. /* [in] */ ULONG celt,
  324. /* [length_is][size_is][out] */ VSS_OBJECT_PROP *rgelt,
  325. /* [out] */ ULONG *pceltFetched);
  326. void __RPC_STUB IVssEnumObject_Next_Stub(
  327. IRpcStubBuffer *This,
  328. IRpcChannelBuffer *_pRpcChannelBuffer,
  329. PRPC_MESSAGE _pRpcMessage,
  330. DWORD *_pdwStubPhase);
  331. HRESULT STDMETHODCALLTYPE IVssEnumObject_Skip_Proxy(
  332. IVssEnumObject * This,
  333. /* [in] */ ULONG celt);
  334. void __RPC_STUB IVssEnumObject_Skip_Stub(
  335. IRpcStubBuffer *This,
  336. IRpcChannelBuffer *_pRpcChannelBuffer,
  337. PRPC_MESSAGE _pRpcMessage,
  338. DWORD *_pdwStubPhase);
  339. HRESULT STDMETHODCALLTYPE IVssEnumObject_Reset_Proxy(
  340. IVssEnumObject * This);
  341. void __RPC_STUB IVssEnumObject_Reset_Stub(
  342. IRpcStubBuffer *This,
  343. IRpcChannelBuffer *_pRpcChannelBuffer,
  344. PRPC_MESSAGE _pRpcMessage,
  345. DWORD *_pdwStubPhase);
  346. HRESULT STDMETHODCALLTYPE IVssEnumObject_Clone_Proxy(
  347. IVssEnumObject * This,
  348. /* [out][in] */ IVssEnumObject **ppenum);
  349. void __RPC_STUB IVssEnumObject_Clone_Stub(
  350. IRpcStubBuffer *This,
  351. IRpcChannelBuffer *_pRpcChannelBuffer,
  352. PRPC_MESSAGE _pRpcMessage,
  353. DWORD *_pdwStubPhase);
  354. #endif /* __IVssEnumObject_INTERFACE_DEFINED__ */
  355. #ifndef __IVssAsync_INTERFACE_DEFINED__
  356. #define __IVssAsync_INTERFACE_DEFINED__
  357. /* interface IVssAsync */
  358. /* [unique][helpstring][uuid][object] */
  359. EXTERN_C const IID IID_IVssAsync;
  360. #if defined(__cplusplus) && !defined(CINTERFACE)
  361. MIDL_INTERFACE("507C37B4-CF5B-4e95-B0AF-14EB9767467E")
  362. IVssAsync : public IUnknown
  363. {
  364. public:
  365. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  366. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Wait(
  367. /* [defaultvalue][in] */ DWORD dwMilliseconds = 0xffffffff) = 0;
  368. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryStatus(
  369. /* [out] */ HRESULT *pHrResult,
  370. /* [unique][out][in] */ INT *pReserved) = 0;
  371. };
  372. #else /* C style interface */
  373. typedef struct IVssAsyncVtbl
  374. {
  375. BEGIN_INTERFACE
  376. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  377. IVssAsync * This,
  378. /* [in] */ REFIID riid,
  379. /* [iid_is][out] */ void **ppvObject);
  380. ULONG ( STDMETHODCALLTYPE *AddRef )(
  381. IVssAsync * This);
  382. ULONG ( STDMETHODCALLTYPE *Release )(
  383. IVssAsync * This);
  384. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Cancel )(
  385. IVssAsync * This);
  386. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Wait )(
  387. IVssAsync * This,
  388. /* [defaultvalue][in] */ DWORD dwMilliseconds);
  389. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *QueryStatus )(
  390. IVssAsync * This,
  391. /* [out] */ HRESULT *pHrResult,
  392. /* [unique][out][in] */ INT *pReserved);
  393. END_INTERFACE
  394. } IVssAsyncVtbl;
  395. interface IVssAsync
  396. {
  397. CONST_VTBL struct IVssAsyncVtbl *lpVtbl;
  398. };
  399. #ifdef COBJMACROS
  400. #define IVssAsync_QueryInterface(This,riid,ppvObject) \
  401. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  402. #define IVssAsync_AddRef(This) \
  403. (This)->lpVtbl -> AddRef(This)
  404. #define IVssAsync_Release(This) \
  405. (This)->lpVtbl -> Release(This)
  406. #define IVssAsync_Cancel(This) \
  407. (This)->lpVtbl -> Cancel(This)
  408. #define IVssAsync_Wait(This,dwMilliseconds) \
  409. (This)->lpVtbl -> Wait(This,dwMilliseconds)
  410. #define IVssAsync_QueryStatus(This,pHrResult,pReserved) \
  411. (This)->lpVtbl -> QueryStatus(This,pHrResult,pReserved)
  412. #endif /* COBJMACROS */
  413. #endif /* C style interface */
  414. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssAsync_Cancel_Proxy(
  415. IVssAsync * This);
  416. void __RPC_STUB IVssAsync_Cancel_Stub(
  417. IRpcStubBuffer *This,
  418. IRpcChannelBuffer *_pRpcChannelBuffer,
  419. PRPC_MESSAGE _pRpcMessage,
  420. DWORD *_pdwStubPhase);
  421. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssAsync_Wait_Proxy(
  422. IVssAsync * This,
  423. /* [defaultvalue][in] */ DWORD dwMilliseconds);
  424. void __RPC_STUB IVssAsync_Wait_Stub(
  425. IRpcStubBuffer *This,
  426. IRpcChannelBuffer *_pRpcChannelBuffer,
  427. PRPC_MESSAGE _pRpcMessage,
  428. DWORD *_pdwStubPhase);
  429. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IVssAsync_QueryStatus_Proxy(
  430. IVssAsync * This,
  431. /* [out] */ HRESULT *pHrResult,
  432. /* [unique][out][in] */ INT *pReserved);
  433. void __RPC_STUB IVssAsync_QueryStatus_Stub(
  434. IRpcStubBuffer *This,
  435. IRpcChannelBuffer *_pRpcChannelBuffer,
  436. PRPC_MESSAGE _pRpcMessage,
  437. DWORD *_pdwStubPhase);
  438. #endif /* __IVssAsync_INTERFACE_DEFINED__ */
  439. /* interface __MIDL_itf_vss_0259 */
  440. /* [local] */
  441. #define VSS_E_BAD_STATE ( 0x80042301L )
  442. #define VSS_E_PROVIDER_ALREADY_REGISTERED ( 0x80042303L )
  443. #define VSS_E_PROVIDER_NOT_REGISTERED ( 0x80042304L )
  444. #define VSS_E_PROVIDER_VETO ( 0x80042306L )
  445. #define VSS_E_PROVIDER_IN_USE ( 0x80042307L )
  446. #define VSS_E_OBJECT_NOT_FOUND ( 0x80042308L )
  447. #define VSS_S_ASYNC_PENDING ( 0x42309L )
  448. #define VSS_S_ASYNC_FINISHED ( 0x4230aL )
  449. #define VSS_S_ASYNC_CANCELLED ( 0x4230bL )
  450. #define VSS_E_VOLUME_NOT_SUPPORTED ( 0x8004230cL )
  451. #define VSS_E_VOLUME_NOT_SUPPORTED_BY_PROVIDER ( 0x8004230eL )
  452. #define VSS_E_OBJECT_ALREADY_EXISTS ( 0x8004230dL )
  453. #define VSS_E_UNEXPECTED_PROVIDER_ERROR ( 0x8004230fL )
  454. #define VSS_E_CORRUPT_XML_DOCUMENT ( 0x80042310L )
  455. #define VSS_E_INVALID_XML_DOCUMENT ( 0x80042311L )
  456. #define VSS_E_MAXIMUM_NUMBER_OF_VOLUMES_REACHED ( 0x80042312L )
  457. #define VSS_E_FLUSH_WRITES_TIMEOUT ( 0x80042313L )
  458. #define VSS_E_HOLD_WRITES_TIMEOUT ( 0x80042314L )
  459. #define VSS_E_UNEXPECTED_WRITER_ERROR ( 0x80042315L )
  460. #define VSS_E_SNAPSHOT_SET_IN_PROGRESS ( 0x80042316L )
  461. #define VSS_E_MAXIMUM_NUMBER_OF_SNAPSHOTS_REACHED ( 0x80042317L )
  462. #define VSS_E_WRITER_INFRASTRUCTURE ( 0x80042318L )
  463. #define VSS_E_WRITER_NOT_RESPONDING ( 0x80042319L )
  464. #define VSS_E_WRITER_ALREADY_SUBSCRIBED ( 0x8004231aL )
  465. #define VSS_E_UNSUPPORTED_CONTEXT ( 0x8004231bL )
  466. #define VSS_E_VOLUME_IN_USE ( 0x8004231dL )
  467. #define VSS_E_MAXIMUM_DIFFAREA_ASSOCIATIONS_REACHED ( 0x8004231eL )
  468. #define VSS_E_INSUFFICIENT_STORAGE ( 0x8004231fL )
  469. #define VSS_E_NO_SNAPSHOTS_IMPORTED ( 0x80042320L )
  470. #define VSS_S_SOME_SNAPSHOTS_NOT_IMPORTED ( 0x42320L )
  471. extern RPC_IF_HANDLE __MIDL_itf_vss_0259_v0_0_c_ifspec;
  472. extern RPC_IF_HANDLE __MIDL_itf_vss_0259_v0_0_s_ifspec;
  473. /* Additional Prototypes for ALL interfaces */
  474. /* end of Additional Prototypes */
  475. #ifdef __cplusplus
  476. }
  477. #endif
  478. #endif