source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/vss.h@ 1170

Last change on this file since 1170 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 16.7 KB
Line 
1/*** Autogenerated by WIDL 6.4 from include/vss.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __vss_h__
17#define __vss_h__
18
19/* Forward declarations */
20
21#ifndef __IVssEnumObject_FWD_DEFINED__
22#define __IVssEnumObject_FWD_DEFINED__
23typedef interface IVssEnumObject IVssEnumObject;
24#ifdef __cplusplus
25interface IVssEnumObject;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IVssAsync_FWD_DEFINED__
30#define __IVssAsync_FWD_DEFINED__
31typedef interface IVssAsync IVssAsync;
32#ifdef __cplusplus
33interface IVssAsync;
34#endif /* __cplusplus */
35#endif
36
37/* Headers for imported files */
38
39#include <oaidl.h>
40#include <ocidl.h>
41
42#ifdef __cplusplus
43extern "C" {
44#endif
45
46#include <winapifamily.h>
47#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
48#include "vsserror.h"
49
50typedef WCHAR *VSS_PWSZ;
51typedef LONGLONG VSS_TIMESTAMP;
52typedef GUID VSS_ID;
53
54typedef enum _VSS_OBJECT_TYPE {
55 VSS_OBJECT_UNKNOWN = 0,
56 VSS_OBJECT_NONE = 1,
57 VSS_OBJECT_SNAPSHOT_SET = 2,
58 VSS_OBJECT_SNAPSHOT = 3,
59 VSS_OBJECT_PROVIDER = 4,
60 VSS_OBJECT_TYPE_COUNT = 5
61} VSS_OBJECT_TYPE;
62typedef enum _VSS_OBJECT_TYPE *PVSS_OBJECT_TYPE;
63
64typedef enum _VSS_SNAPSHOT_STATE {
65 VSS_SS_UNKNOWN = 0,
66 VSS_SS_PREPARING = 1,
67 VSS_SS_PROCESSING_PREPARE = 2,
68 VSS_SS_PREPARED = 3,
69 VSS_SS_PROCESSING_PRECOMMIT = 4,
70 VSS_SS_PRECOMMITTED = 5,
71 VSS_SS_PROCESSING_COMMIT = 6,
72 VSS_SS_COMMITTED = 7,
73 VSS_SS_PROCESSING_POSTCOMMIT = 8,
74 VSS_SS_PROCESSING_PREFINALCOMMIT = 9,
75 VSS_SS_PREFINALCOMMITTED = 10,
76 VSS_SS_PROCESSING_POSTFINALCOMMIT = 11,
77 VSS_SS_CREATED = 12,
78 VSS_SS_ABORTED = 13,
79 VSS_SS_DELETED = 14,
80 VSS_SS_POSTCOMMITTED = 15,
81 VSS_SS_COUNT = 16
82} VSS_SNAPSHOT_STATE;
83typedef enum _VSS_SNAPSHOT_STATE *PVSS_SNAPSHOT_STATE;
84
85typedef enum _VSS_VOLUME_SNAPSHOT_ATTRIBUTES {
86 VSS_VOLSNAP_ATTR_PERSISTENT = 0x1,
87 VSS_VOLSNAP_ATTR_NO_AUTORECOVERY = 0x2,
88 VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE = 0x4,
89 VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE = 0x8,
90 VSS_VOLSNAP_ATTR_NO_WRITERS = 0x10,
91 VSS_VOLSNAP_ATTR_TRANSPORTABLE = 0x20,
92 VSS_VOLSNAP_ATTR_NOT_SURFACED = 0x40,
93 VSS_VOLSNAP_ATTR_NOT_TRANSACTED = 0x80,
94 VSS_VOLSNAP_ATTR_HARDWARE_ASSISTED = 0x10000,
95 VSS_VOLSNAP_ATTR_DIFFERENTIAL = 0x20000,
96 VSS_VOLSNAP_ATTR_PLEX = 0x40000,
97 VSS_VOLSNAP_ATTR_IMPORTED = 0x80000,
98 VSS_VOLSNAP_ATTR_EXPOSED_LOCALLY = 0x100000,
99 VSS_VOLSNAP_ATTR_EXPOSED_REMOTELY = 0x200000,
100 VSS_VOLSNAP_ATTR_AUTORECOVER = 0x400000,
101 VSS_VOLSNAP_ATTR_ROLLBACK_RECOVERY = 0x800000,
102 VSS_VOLSNAP_ATTR_DELAYED_POSTSNAPSHOT = 0x1000000,
103 VSS_VOLSNAP_ATTR_TXF_RECOVERY = 0x2000000,
104 VSS_VOLSNAP_ATTR_FILE_SHARE = 0x4000000
105} VSS_VOLUME_SNAPSHOT_ATTRIBUTES;
106typedef enum _VSS_VOLUME_SNAPSHOT_ATTRIBUTES *PVSS_VOLUME_SNAPSHOT_ATTRIBUTES;
107
108typedef enum _VSS_SNAPSHOT_CONTEXT {
109 VSS_CTX_BACKUP = 0x0,
110 VSS_CTX_FILE_SHARE_BACKUP = VSS_VOLSNAP_ATTR_NO_WRITERS,
111 VSS_CTX_NAS_ROLLBACK = (VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE) | VSS_VOLSNAP_ATTR_NO_WRITERS,
112 VSS_CTX_APP_ROLLBACK = VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE,
113 VSS_CTX_CLIENT_ACCESSIBLE = ((VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE) | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE) | VSS_VOLSNAP_ATTR_NO_WRITERS,
114 VSS_CTX_CLIENT_ACCESSIBLE_WRITERS = (VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE) | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE,
115 VSS_CTX_ALL = 0xffffffff
116} VSS_SNAPSHOT_CONTEXT;
117typedef enum _VSS_SNAPSHOT_CONTEXT *PVSS_SNAPSHOT_CONTEXT;
118
119typedef enum _VSS_PROVIDER_CAPABILITIES {
120 VSS_PRV_CAPABILITY_LEGACY = 0x1,
121 VSS_PRV_CAPABILITY_COMPLIANT = 0x2,
122 VSS_PRV_CAPABILITY_LUN_REPOINT = 0x4,
123 VSS_PRV_CAPABILITY_LUN_RESYNC = 0x8,
124 VSS_PRV_CAPABILITY_OFFLINE_CREATION = 0x10,
125 VSS_PRV_CAPABILITY_MULTIPLE_IMPORT = 0x20,
126 VSS_PRV_CAPABILITY_RECYCLING = 0x40,
127 VSS_PRV_CAPABILITY_PLEX = 0x80,
128 VSS_PRV_CAPABILITY_DIFFERENTIAL = 0x100,
129 VSS_PRV_CAPABILITY_CLUSTERED = 0x200
130} VSS_PROVIDER_CAPABILITIES;
131typedef enum _VSS_PROVIDER_CAPABILITIES *PVSS_PROVIDER_CAPABILITIES;
132
133typedef enum _VSS_HARDWARE_OPTIONS {
134 VSS_BREAKEX_FLAG_MASK_LUNS = 0x1,
135 VSS_BREAKEX_FLAG_MAKE_READ_WRITE = 0x2,
136 VSS_BREAKEX_FLAG_REVERT_IDENTITY_ALL = 0x4,
137 VSS_BREAKEX_FLAG_REVERT_IDENTITY_NONE = 0x8,
138 VSS_ONLUNSTATECHANGE_NOTIFY_READ_WRITE = 0x100,
139 VSS_ONLUNSTATECHANGE_NOTIFY_LUN_PRE_RECOVERY = 0x200,
140 VSS_ONLUNSTATECHANGE_NOTIFY_LUN_POST_RECOVERY = 0x400,
141 VSS_ONLUNSTATECHANGE_DO_MASK_LUNS = 0x800
142} VSS_HARDWARE_OPTIONS;
143typedef enum _VSS_HARDWARE_OPTIONS *PVSS_HARDWARE_OPTIONS;
144
145typedef enum _VSS_RECOVERY_OPTIONS {
146 VSS_RECOVERY_REVERT_IDENTITY_ALL = 0x100,
147 VSS_RECOVERY_NO_VOLUME_CHECK = 0x200
148} VSS_RECOVERY_OPTIONS;
149typedef enum _VSS_RECOVERY_OPTIONS *PVSS_RECOVERY_OPTIONS;
150
151typedef enum _VSS_WRITER_STATE {
152 VSS_WS_UNKNOWN = 0,
153 VSS_WS_STABLE = 1,
154 VSS_WS_WAITING_FOR_FREEZE = 2,
155 VSS_WS_WAITING_FOR_THAW = 3,
156 VSS_WS_WAITING_FOR_POST_SNAPSHOT = 4,
157 VSS_WS_WAITING_FOR_BACKUP_COMPLETE = 5,
158 VSS_WS_FAILED_AT_IDENTIFY = 6,
159 VSS_WS_FAILED_AT_PREPARE_BACKUP = 7,
160 VSS_WS_FAILED_AT_PREPARE_SNAPSHOT = 8,
161 VSS_WS_FAILED_AT_FREEZE = 9,
162 VSS_WS_FAILED_AT_THAW = 10,
163 VSS_WS_FAILED_AT_POST_SNAPSHOT = 11,
164 VSS_WS_FAILED_AT_BACKUP_COMPLETE = 12,
165 VSS_WS_FAILED_AT_PRE_RESTORE = 13,
166 VSS_WS_FAILED_AT_POST_RESTORE = 14,
167 VSS_WS_FAILED_AT_BACKUPSHUTDOWN = 15,
168 VSS_WS_COUNT = 16
169} VSS_WRITER_STATE;
170typedef enum _VSS_WRITER_STATE *PVSS_WRITER_STATE;
171
172typedef enum _VSS_BACKUP_TYPE {
173 VSS_BT_UNDEFINED = 0,
174 VSS_BT_FULL = 1,
175 VSS_BT_INCREMENTAL = 2,
176 VSS_BT_DIFFERENTIAL = 3,
177 VSS_BT_LOG = 4,
178 VSS_BT_COPY = 5,
179 VSS_BT_OTHER = 6
180} VSS_BACKUP_TYPE;
181typedef enum _VSS_BACKUP_TYPE *PVSS_BACKUP_TYPE;
182
183typedef enum _VSS_RESTORE_TYPE {
184 VSS_RTYPE_UNDEFINED = 0,
185 VSS_RTYPE_BY_COPY = 1,
186 VSS_RTYPE_IMPORT = 2,
187 VSS_RTYPE_OTHER = 3
188} VSS_RESTORE_TYPE;
189typedef enum _VSS_RESTORE_TYPE *PVSS_RESTORE_TYPE;
190
191typedef enum _VSS_ROLLFORWARD_TYPE {
192 VSS_RF_UNDEFINED = 0,
193 VSS_RF_NONE = 1,
194 VSS_RF_ALL = 2,
195 VSS_RF_PARTIAL = 3
196} VSS_ROLLFORWARD_TYPE;
197typedef enum _VSS_ROLLFORWARD_TYPE *PVSS_ROLLFORWARD_TYPE;
198
199typedef enum _VSS_PROVIDER_TYPE {
200 VSS_PROV_UNKNOWN = 0,
201 VSS_PROV_SYSTEM = 1,
202 VSS_PROV_SOFTWARE = 2,
203 VSS_PROV_HARDWARE = 3,
204 VSS_PROV_FILESHARE = 4
205} VSS_PROVIDER_TYPE;
206typedef enum _VSS_PROVIDER_TYPE *PVSS_PROVIDER_TYPE;
207
208typedef enum _VSS_APPLICATION_LEVEL {
209 VSS_APP_UNKNOWN = 0,
210 VSS_APP_SYSTEM = 1,
211 VSS_APP_BACK_END = 2,
212 VSS_APP_FRONT_END = 3,
213 VSS_APP_SYSTEM_RM = 4,
214 VSS_APP_AUTO = -1
215} VSS_APPLICATION_LEVEL;
216typedef enum _VSS_APPLICATION_LEVEL *PVSS_APPLICATION_LEVEL;
217
218typedef enum _VSS_SNAPSHOT_COMPATIBILITY {
219 VSS_SC_DISABLE_DEFRAG = 0x1,
220 VSS_SC_DISABLE_CONTENTINDEX = 0x2
221} VSS_SNAPSHOT_COMPATIBILITY;
222
223typedef enum _VSS_SNAPSHOT_PROPERTY_ID {
224 VSS_SPROPID_UNKNOWN = 0x0,
225 VSS_SPROPID_SNAPSHOT_ID = 0x1,
226 VSS_SPROPID_SNAPSHOT_SET_ID = 0x2,
227 VSS_SPROPID_SNAPSHOTS_COUNT = 0x3,
228 VSS_SPROPID_SNAPSHOT_DEVICE = 0x4,
229 VSS_SPROPID_ORIGINAL_VOLUME = 0x5,
230 VSS_SPROPID_ORIGINATING_MACHINE = 0x6,
231 VSS_SPROPID_SERVICE_MACHINE = 0x7,
232 VSS_SPROPID_EXPOSED_NAME = 0x8,
233 VSS_SPROPID_EXPOSED_PATH = 0x9,
234 VSS_SPROPID_PROVIDER_ID = 0xa,
235 VSS_SPROPID_SNAPSHOT_ATTRIBUTES = 0xb,
236 VSS_SPROPID_CREATION_TIMESTAMP = 0xc,
237 VSS_SPROPID_STATUS = 0xd
238} VSS_SNAPSHOT_PROPERTY_ID;
239typedef enum _VSS_SNAPSHOT_PROPERTY_ID *PVSS_SNAPSHOT_PROPERTY_ID;
240
241typedef enum _VSS_FILE_SPEC_BACKUP_TYPE {
242 VSS_FSBT_FULL_BACKUP_REQUIRED = 0x1,
243 VSS_FSBT_DIFFERENTIAL_BACKUP_REQUIRED = 0x2,
244 VSS_FSBT_INCREMENTAL_BACKUP_REQUIRED = 0x4,
245 VSS_FSBT_LOG_BACKUP_REQUIRED = 0x8,
246 VSS_FSBT_FULL_SNAPSHOT_REQUIRED = 0x100,
247 VSS_FSBT_DIFFERENTIAL_SNAPSHOT_REQUIRED = 0x200,
248 VSS_FSBT_INCREMENTAL_SNAPSHOT_REQUIRED = 0x400,
249 VSS_FSBT_LOG_SNAPSHOT_REQUIRED = 0x800,
250 VSS_FSBT_CREATED_DURING_BACKUP = 0x10000,
251 VSS_FSBT_ALL_BACKUP_REQUIRED = 0xf,
252 VSS_FSBT_ALL_SNAPSHOT_REQUIRED = 0xf00
253} VSS_FILE_SPEC_BACKUP_TYPE;
254typedef enum _VSS_FILE_SPEC_BACKUP_TYPE *PVSS_FILE_SPEC_BACKUP_TYPE;
255
256typedef enum _VSS_BACKUP_SCHEMA {
257 VSS_BS_UNDEFINED = 0x0,
258 VSS_BS_DIFFERENTIAL = 0x1,
259 VSS_BS_INCREMENTAL = 0x2,
260 VSS_BS_EXCLUSIVE_INCREMENTAL_DIFFERENTIAL = 0x4,
261 VSS_BS_LOG = 0x8,
262 VSS_BS_COPY = 0x10,
263 VSS_BS_TIMESTAMPED = 0x20,
264 VSS_BS_LAST_MODIFY = 0x40,
265 VSS_BS_LSN = 0x80,
266 VSS_BS_WRITER_SUPPORTS_NEW_TARGET = 0x100,
267 VSS_BS_WRITER_SUPPORTS_RESTORE_WITH_MOVE = 0x200,
268 VSS_BS_INDEPENDENT_SYSTEM_STATE = 0x400,
269 VSS_BS_ROLLFORWARD_RESTORE = 0x1000,
270 VSS_BS_RESTORE_RENAME = 0x2000,
271 VSS_BS_AUTHORITATIVE_RESTORE = 0x4000,
272 VSS_BS_WRITER_SUPPORTS_PARALLEL_RESTORES = 0x8000
273} VSS_BACKUP_SCHEMA;
274typedef enum _VSS_BACKUP_SCHEMA *PVSS_BACKUP_SCHEMA;
275
276typedef struct _VSS_SNAPSHOT_PROP {
277 VSS_ID m_SnapshotId;
278 VSS_ID m_SnapshotSetId;
279 LONG m_lSnapshotsCount;
280 VSS_PWSZ m_pwszSnapshotDeviceObject;
281 VSS_PWSZ m_pwszOriginalVolumeName;
282 VSS_PWSZ m_pwszOriginatingMachine;
283 VSS_PWSZ m_pwszServiceMachine;
284 VSS_PWSZ m_pwszExposedName;
285 VSS_PWSZ m_pwszExposedPath;
286 VSS_ID m_ProviderId;
287 LONG m_lSnapshotAttributes;
288 VSS_TIMESTAMP m_tsCreationTimestamp;
289 VSS_SNAPSHOT_STATE m_eStatus;
290} VSS_SNAPSHOT_PROP;
291typedef struct _VSS_SNAPSHOT_PROP *PVSS_SNAPSHOT_PROP;
292
293typedef struct _VSS_PROVIDER_PROP {
294 VSS_ID m_ProviderId;
295 VSS_PWSZ m_pwszProviderName;
296 VSS_PROVIDER_TYPE m_eProviderType;
297 VSS_PWSZ m_pwszProviderVersion;
298 VSS_ID m_ProviderVersionId;
299 CLSID m_ClassId;
300} VSS_PROVIDER_PROP;
301typedef struct _VSS_PROVIDER_PROP *PVSS_PROVIDER_PROP;
302
303typedef union __WIDL_vss_generated_name_00000020 {
304 VSS_SNAPSHOT_PROP Snap;
305 VSS_PROVIDER_PROP Prov;
306} VSS_OBJECT_UNION;
307
308typedef struct _VSS_OBJECT_PROP {
309 VSS_OBJECT_TYPE Type;
310 VSS_OBJECT_UNION Obj;
311} VSS_OBJECT_PROP;
312typedef struct _VSS_OBJECT_PROP *PVSS_OBJECT_PROP;
313
314/*****************************************************************************
315 * IVssEnumObject interface
316 */
317#ifndef __IVssEnumObject_INTERFACE_DEFINED__
318#define __IVssEnumObject_INTERFACE_DEFINED__
319
320DEFINE_GUID(IID_IVssEnumObject, 0xae1c7110, 0x2f60, 0x11d3, 0x8a,0x39, 0x00,0xc0,0x4f,0x72,0xd8,0xe3);
321#if defined(__cplusplus) && !defined(CINTERFACE)
322MIDL_INTERFACE("ae1c7110-2f60-11d3-8a39-00c04f72d8e3")
323IVssEnumObject : public IUnknown
324{
325 virtual HRESULT STDMETHODCALLTYPE Next(
326 ULONG celt,
327 VSS_OBJECT_PROP *rgelt,
328 ULONG *pceltFetched) = 0;
329
330 virtual HRESULT STDMETHODCALLTYPE Skip(
331 ULONG celt) = 0;
332
333 virtual HRESULT STDMETHODCALLTYPE Reset(
334 ) = 0;
335
336 virtual HRESULT STDMETHODCALLTYPE Clone(
337 IVssEnumObject **ppenum) = 0;
338
339};
340#ifdef __CRT_UUID_DECL
341__CRT_UUID_DECL(IVssEnumObject, 0xae1c7110, 0x2f60, 0x11d3, 0x8a,0x39, 0x00,0xc0,0x4f,0x72,0xd8,0xe3)
342#endif
343#else
344typedef struct IVssEnumObjectVtbl {
345 BEGIN_INTERFACE
346
347 /*** IUnknown methods ***/
348 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
349 IVssEnumObject *This,
350 REFIID riid,
351 void **ppvObject);
352
353 ULONG (STDMETHODCALLTYPE *AddRef)(
354 IVssEnumObject *This);
355
356 ULONG (STDMETHODCALLTYPE *Release)(
357 IVssEnumObject *This);
358
359 /*** IVssEnumObject methods ***/
360 HRESULT (STDMETHODCALLTYPE *Next)(
361 IVssEnumObject *This,
362 ULONG celt,
363 VSS_OBJECT_PROP *rgelt,
364 ULONG *pceltFetched);
365
366 HRESULT (STDMETHODCALLTYPE *Skip)(
367 IVssEnumObject *This,
368 ULONG celt);
369
370 HRESULT (STDMETHODCALLTYPE *Reset)(
371 IVssEnumObject *This);
372
373 HRESULT (STDMETHODCALLTYPE *Clone)(
374 IVssEnumObject *This,
375 IVssEnumObject **ppenum);
376
377 END_INTERFACE
378} IVssEnumObjectVtbl;
379
380interface IVssEnumObject {
381 CONST_VTBL IVssEnumObjectVtbl* lpVtbl;
382};
383
384#ifdef COBJMACROS
385#ifndef WIDL_C_INLINE_WRAPPERS
386/*** IUnknown methods ***/
387#define IVssEnumObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
388#define IVssEnumObject_AddRef(This) (This)->lpVtbl->AddRef(This)
389#define IVssEnumObject_Release(This) (This)->lpVtbl->Release(This)
390/*** IVssEnumObject methods ***/
391#define IVssEnumObject_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
392#define IVssEnumObject_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
393#define IVssEnumObject_Reset(This) (This)->lpVtbl->Reset(This)
394#define IVssEnumObject_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
395#else
396/*** IUnknown methods ***/
397static FORCEINLINE HRESULT IVssEnumObject_QueryInterface(IVssEnumObject* This,REFIID riid,void **ppvObject) {
398 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
399}
400static FORCEINLINE ULONG IVssEnumObject_AddRef(IVssEnumObject* This) {
401 return This->lpVtbl->AddRef(This);
402}
403static FORCEINLINE ULONG IVssEnumObject_Release(IVssEnumObject* This) {
404 return This->lpVtbl->Release(This);
405}
406/*** IVssEnumObject methods ***/
407static FORCEINLINE HRESULT IVssEnumObject_Next(IVssEnumObject* This,ULONG celt,VSS_OBJECT_PROP *rgelt,ULONG *pceltFetched) {
408 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
409}
410static FORCEINLINE HRESULT IVssEnumObject_Skip(IVssEnumObject* This,ULONG celt) {
411 return This->lpVtbl->Skip(This,celt);
412}
413static FORCEINLINE HRESULT IVssEnumObject_Reset(IVssEnumObject* This) {
414 return This->lpVtbl->Reset(This);
415}
416static FORCEINLINE HRESULT IVssEnumObject_Clone(IVssEnumObject* This,IVssEnumObject **ppenum) {
417 return This->lpVtbl->Clone(This,ppenum);
418}
419#endif
420#endif
421
422#endif
423
424
425#endif /* __IVssEnumObject_INTERFACE_DEFINED__ */
426
427
428/*****************************************************************************
429 * IVssAsync interface
430 */
431#ifndef __IVssAsync_INTERFACE_DEFINED__
432#define __IVssAsync_INTERFACE_DEFINED__
433
434DEFINE_GUID(IID_IVssAsync, 0x507c37b4, 0xcf5b, 0x4e95, 0xb0,0xaf, 0x14,0xeb,0x97,0x67,0x46,0x7e);
435#if defined(__cplusplus) && !defined(CINTERFACE)
436MIDL_INTERFACE("507c37b4-cf5b-4e95-b0af-14eb9767467e")
437IVssAsync : public IUnknown
438{
439 virtual HRESULT STDMETHODCALLTYPE Cancel(
440 ) = 0;
441
442 virtual HRESULT STDMETHODCALLTYPE Wait(
443 DWORD dwMilliseconds = 0xffffffff) = 0;
444
445 virtual HRESULT STDMETHODCALLTYPE QueryStatus(
446 HRESULT *pHrResult,
447 INT *pReserved) = 0;
448
449};
450#ifdef __CRT_UUID_DECL
451__CRT_UUID_DECL(IVssAsync, 0x507c37b4, 0xcf5b, 0x4e95, 0xb0,0xaf, 0x14,0xeb,0x97,0x67,0x46,0x7e)
452#endif
453#else
454typedef struct IVssAsyncVtbl {
455 BEGIN_INTERFACE
456
457 /*** IUnknown methods ***/
458 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
459 IVssAsync *This,
460 REFIID riid,
461 void **ppvObject);
462
463 ULONG (STDMETHODCALLTYPE *AddRef)(
464 IVssAsync *This);
465
466 ULONG (STDMETHODCALLTYPE *Release)(
467 IVssAsync *This);
468
469 /*** IVssAsync methods ***/
470 HRESULT (STDMETHODCALLTYPE *Cancel)(
471 IVssAsync *This);
472
473 HRESULT (STDMETHODCALLTYPE *Wait)(
474 IVssAsync *This,
475 DWORD dwMilliseconds);
476
477 HRESULT (STDMETHODCALLTYPE *QueryStatus)(
478 IVssAsync *This,
479 HRESULT *pHrResult,
480 INT *pReserved);
481
482 END_INTERFACE
483} IVssAsyncVtbl;
484
485interface IVssAsync {
486 CONST_VTBL IVssAsyncVtbl* lpVtbl;
487};
488
489#ifdef COBJMACROS
490#ifndef WIDL_C_INLINE_WRAPPERS
491/*** IUnknown methods ***/
492#define IVssAsync_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
493#define IVssAsync_AddRef(This) (This)->lpVtbl->AddRef(This)
494#define IVssAsync_Release(This) (This)->lpVtbl->Release(This)
495/*** IVssAsync methods ***/
496#define IVssAsync_Cancel(This) (This)->lpVtbl->Cancel(This)
497#define IVssAsync_Wait(This,dwMilliseconds) (This)->lpVtbl->Wait(This,dwMilliseconds)
498#define IVssAsync_QueryStatus(This,pHrResult,pReserved) (This)->lpVtbl->QueryStatus(This,pHrResult,pReserved)
499#else
500/*** IUnknown methods ***/
501static FORCEINLINE HRESULT IVssAsync_QueryInterface(IVssAsync* This,REFIID riid,void **ppvObject) {
502 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
503}
504static FORCEINLINE ULONG IVssAsync_AddRef(IVssAsync* This) {
505 return This->lpVtbl->AddRef(This);
506}
507static FORCEINLINE ULONG IVssAsync_Release(IVssAsync* This) {
508 return This->lpVtbl->Release(This);
509}
510/*** IVssAsync methods ***/
511static FORCEINLINE HRESULT IVssAsync_Cancel(IVssAsync* This) {
512 return This->lpVtbl->Cancel(This);
513}
514static FORCEINLINE HRESULT IVssAsync_Wait(IVssAsync* This,DWORD dwMilliseconds) {
515 return This->lpVtbl->Wait(This,dwMilliseconds);
516}
517static FORCEINLINE HRESULT IVssAsync_QueryStatus(IVssAsync* This,HRESULT *pHrResult,INT *pReserved) {
518 return This->lpVtbl->QueryStatus(This,pHrResult,pReserved);
519}
520#endif
521#endif
522
523#endif
524
525
526#endif /* __IVssAsync_INTERFACE_DEFINED__ */
527
528#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
529/* Begin additional prototypes for all interfaces */
530
531
532/* End additional prototypes */
533
534#ifdef __cplusplus
535}
536#endif
537
538#endif /* __vss_h__ */
Note: See TracBrowser for help on using the repository browser.