master
1/*** Autogenerated by WIDL 10.4 from include/vsmgmt.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 __vsmgmt_h__
17#define __vsmgmt_h__
18
19/* Forward declarations */
20
21#ifndef __IVssSnapshotMgmt_FWD_DEFINED__
22#define __IVssSnapshotMgmt_FWD_DEFINED__
23typedef interface IVssSnapshotMgmt IVssSnapshotMgmt;
24#ifdef __cplusplus
25interface IVssSnapshotMgmt;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IVssSnapshotMgmt2_FWD_DEFINED__
30#define __IVssSnapshotMgmt2_FWD_DEFINED__
31typedef interface IVssSnapshotMgmt2 IVssSnapshotMgmt2;
32#ifdef __cplusplus
33interface IVssSnapshotMgmt2;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
38#define __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
39typedef interface IVssDifferentialSoftwareSnapshotMgmt IVssDifferentialSoftwareSnapshotMgmt;
40#ifdef __cplusplus
41interface IVssDifferentialSoftwareSnapshotMgmt;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IVssDifferentialSoftwareSnapshotMgmt2_FWD_DEFINED__
46#define __IVssDifferentialSoftwareSnapshotMgmt2_FWD_DEFINED__
47typedef interface IVssDifferentialSoftwareSnapshotMgmt2 IVssDifferentialSoftwareSnapshotMgmt2;
48#ifdef __cplusplus
49interface IVssDifferentialSoftwareSnapshotMgmt2;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IVssDifferentialSoftwareSnapshotMgmt3_FWD_DEFINED__
54#define __IVssDifferentialSoftwareSnapshotMgmt3_FWD_DEFINED__
55typedef interface IVssDifferentialSoftwareSnapshotMgmt3 IVssDifferentialSoftwareSnapshotMgmt3;
56#ifdef __cplusplus
57interface IVssDifferentialSoftwareSnapshotMgmt3;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IVssEnumMgmtObject_FWD_DEFINED__
62#define __IVssEnumMgmtObject_FWD_DEFINED__
63typedef interface IVssEnumMgmtObject IVssEnumMgmtObject;
64#ifdef __cplusplus
65interface IVssEnumMgmtObject;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __VssSnapshotMgmt_FWD_DEFINED__
70#define __VssSnapshotMgmt_FWD_DEFINED__
71#ifdef __cplusplus
72typedef class VssSnapshotMgmt VssSnapshotMgmt;
73#else
74typedef struct VssSnapshotMgmt VssSnapshotMgmt;
75#endif /* defined __cplusplus */
76#endif /* defined __VssSnapshotMgmt_FWD_DEFINED__ */
77
78/* Headers for imported files */
79
80#include <oaidl.h>
81#include <ocidl.h>
82#include <vss.h>
83
84#ifdef __cplusplus
85extern "C" {
86#endif
87
88#include <winapifamily.h>
89#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
90typedef enum _VSS_MGMT_OBJECT_TYPE {
91 VSS_MGMT_OBJECT_UNKNOWN = 0,
92 VSS_MGMT_OBJECT_VOLUME = 1,
93 VSS_MGMT_OBJECT_DIFF_VOLUME = 2,
94 VSS_MGMT_OBJECT_DIFF_AREA = 3
95} VSS_MGMT_OBJECT_TYPE;
96typedef enum _VSS_MGMT_OBJECT_TYPE *PVSS_MGMT_OBJECT_TYPE;
97#define VSS_ASSOC_NO_MAX_SPACE (-1)
98
99#define VSS_ASSOC_REMOVE (0)
100
101typedef struct _VSS_VOLUME_PROP {
102 VSS_PWSZ m_pwszVolumeName;
103 VSS_PWSZ m_pwszVolumeDisplayName;
104} VSS_VOLUME_PROP;
105typedef struct _VSS_VOLUME_PROP *PVSS_VOLUME_PROP;
106typedef struct _VSS_DIFF_VOLUME_PROP {
107 VSS_PWSZ m_pwszVolumeName;
108 VSS_PWSZ m_pwszVolumeDisplayName;
109 LONGLONG m_llVolumeFreeSpace;
110 LONGLONG m_llVolumeTotalSpace;
111} VSS_DIFF_VOLUME_PROP;
112typedef struct _VSS_DIFF_VOLUME_PROP *PVSS_DIFF_VOLUME_PROP;
113typedef struct _VSS_DIFF_AREA_PROP {
114 VSS_PWSZ m_pwszVolumeName;
115 VSS_PWSZ m_pwszDiffAreaVolumeName;
116 LONGLONG m_llMaximumDiffSpace;
117 LONGLONG m_llAllocatedDiffSpace;
118 LONGLONG m_llUsedDiffSpace;
119} VSS_DIFF_AREA_PROP;
120typedef struct _VSS_DIFF_AREA_PROP *PVSS_DIFF_AREA_PROP;
121typedef union __WIDL_vsmgmt_generated_name_00000021 {
122 VSS_VOLUME_PROP Vol;
123 VSS_DIFF_VOLUME_PROP DiffVol;
124 VSS_DIFF_AREA_PROP DiffArea;
125} VSS_MGMT_OBJECT_UNION;
126typedef union __WIDL_vsmgmt_generated_name_00000021 *PVSS_MGMT_OBJECT_UNION;
127typedef struct _VSS_MGMT_OBJECT_PROP {
128 VSS_MGMT_OBJECT_TYPE Type;
129 VSS_MGMT_OBJECT_UNION Obj;
130} VSS_MGMT_OBJECT_PROP;
131typedef struct _VSS_MGMT_OBJECT_PROP *PVSS_MGMT_OBJECT_PROP;
132typedef enum _VSS_PROTECTION_LEVEL {
133 VSS_PROTECTION_LEVEL_ORIGINAL_VOLUME = 0,
134 VSS_PROTECTION_LEVEL_SNAPSHOT = 1
135} VSS_PROTECTION_LEVEL;
136typedef enum _VSS_PROTECTION_LEVEL *PVSS_PROTECTION_LEVEL;
137typedef enum _VSS_PROTECTION_FAULT {
138 VSS_PROTECTION_FAULT_NONE = 0,
139 VSS_PROTECTION_FAULT_DIFF_AREA_MISSING = 1,
140 VSS_PROTECTION_FAULT_IO_FAILURE_DURING_ONLINE = 2,
141 VSS_PROTECTION_FAULT_META_DATA_CORRUPTION = 3,
142 VSS_PROTECTION_FAULT_MEMORY_ALLOCATION_FAILURE = 4,
143 VSS_PROTECTION_FAULT_MAPPED_MEMORY_FAILURE = 5,
144 VSS_PROTECTION_FAULT_COW_READ_FAILURE = 6,
145 VSS_PROTECTION_FAULT_COW_WRITE_FAILURE = 7,
146 VSS_PROTECTION_FAULT_DIFF_AREA_FULL = 8,
147 VSS_PROTECTION_FAULT_GROW_TOO_SLOW = 9,
148 VSS_PROTECTION_FAULT_GROW_FAILED = 10,
149 VSS_PROTECTION_FAULT_DESTROY_ALL_SNAPSHOTS = 11,
150 VSS_PROTECTION_FAULT_FILE_SYSTEM_FAILURE = 12,
151 VSS_PROTECTION_FAULT_IO_FAILURE = 13,
152 VSS_PROTECTION_FAULT_DIFF_AREA_REMOVED = 14,
153 VSS_PROTECTION_FAULT_EXTERNAL_WRITER_TO_DIFF_AREA = 15,
154 VSS_PROTECTION_FAULT_MOUNT_DURING_CLUSTER_OFFLINE = 16
155} VSS_PROTECTION_FAULT;
156typedef enum _VSS_PROTECTION_FAULT *PVSS_PROTECTION_FAULT;
157typedef struct _VSS_VOLUME_PROTECTION_INFO {
158 VSS_PROTECTION_LEVEL m_protectionLevel;
159 WINBOOL m_volumeIsOfflineForProtection;
160 VSS_PROTECTION_FAULT m_protectionFault;
161 LONG m_failureStatus;
162 WINBOOL m_volumeHasUnusedDiffArea;
163 DWORD m_reserved;
164} VSS_VOLUME_PROTECTION_INFO;
165typedef struct _VSS_VOLUME_PROTECTION_INFO *PVSS_VOLUME_PROTECTION_INFO;
166#ifndef __IVssSnapshotMgmt_FWD_DEFINED__
167#define __IVssSnapshotMgmt_FWD_DEFINED__
168typedef interface IVssSnapshotMgmt IVssSnapshotMgmt;
169#ifdef __cplusplus
170interface IVssSnapshotMgmt;
171#endif /* __cplusplus */
172#endif
173
174#ifndef __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
175#define __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
176typedef interface IVssDifferentialSoftwareSnapshotMgmt IVssDifferentialSoftwareSnapshotMgmt;
177#ifdef __cplusplus
178interface IVssDifferentialSoftwareSnapshotMgmt;
179#endif /* __cplusplus */
180#endif
181
182#ifndef __IVssEnumMgmtObject_FWD_DEFINED__
183#define __IVssEnumMgmtObject_FWD_DEFINED__
184typedef interface IVssEnumMgmtObject IVssEnumMgmtObject;
185#ifdef __cplusplus
186interface IVssEnumMgmtObject;
187#endif /* __cplusplus */
188#endif
189
190/*****************************************************************************
191 * IVssSnapshotMgmt interface
192 */
193#ifndef __IVssSnapshotMgmt_INTERFACE_DEFINED__
194#define __IVssSnapshotMgmt_INTERFACE_DEFINED__
195
196DEFINE_GUID(IID_IVssSnapshotMgmt, 0xfa7df749, 0x66e7, 0x4986, 0xa2,0x7f, 0xe2,0xf0,0x4a,0xe5,0x37,0x72);
197#if defined(__cplusplus) && !defined(CINTERFACE)
198MIDL_INTERFACE("fa7df749-66e7-4986-a27f-e2f04ae53772")
199IVssSnapshotMgmt : public IUnknown
200{
201 virtual HRESULT STDMETHODCALLTYPE GetProviderMgmtInterface(
202 VSS_ID ProviderId,
203 REFIID InterfaceId,
204 IUnknown **ppItf) = 0;
205
206 virtual HRESULT STDMETHODCALLTYPE QueryVolumesSupportedForSnapshots(
207 VSS_ID ProviderId,
208 LONG lContext,
209 IVssEnumMgmtObject **ppEnum) = 0;
210
211 virtual HRESULT STDMETHODCALLTYPE QuerySnapshotsByVolume(
212 VSS_PWSZ pwszVolumeName,
213 VSS_ID ProviderId,
214 IVssEnumObject **ppEnum) = 0;
215
216};
217#ifdef __CRT_UUID_DECL
218__CRT_UUID_DECL(IVssSnapshotMgmt, 0xfa7df749, 0x66e7, 0x4986, 0xa2,0x7f, 0xe2,0xf0,0x4a,0xe5,0x37,0x72)
219#endif
220#else
221typedef struct IVssSnapshotMgmtVtbl {
222 BEGIN_INTERFACE
223
224 /*** IUnknown methods ***/
225 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
226 IVssSnapshotMgmt *This,
227 REFIID riid,
228 void **ppvObject);
229
230 ULONG (STDMETHODCALLTYPE *AddRef)(
231 IVssSnapshotMgmt *This);
232
233 ULONG (STDMETHODCALLTYPE *Release)(
234 IVssSnapshotMgmt *This);
235
236 /*** IVssSnapshotMgmt methods ***/
237 HRESULT (STDMETHODCALLTYPE *GetProviderMgmtInterface)(
238 IVssSnapshotMgmt *This,
239 VSS_ID ProviderId,
240 REFIID InterfaceId,
241 IUnknown **ppItf);
242
243 HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForSnapshots)(
244 IVssSnapshotMgmt *This,
245 VSS_ID ProviderId,
246 LONG lContext,
247 IVssEnumMgmtObject **ppEnum);
248
249 HRESULT (STDMETHODCALLTYPE *QuerySnapshotsByVolume)(
250 IVssSnapshotMgmt *This,
251 VSS_PWSZ pwszVolumeName,
252 VSS_ID ProviderId,
253 IVssEnumObject **ppEnum);
254
255 END_INTERFACE
256} IVssSnapshotMgmtVtbl;
257
258interface IVssSnapshotMgmt {
259 CONST_VTBL IVssSnapshotMgmtVtbl* lpVtbl;
260};
261
262#ifdef COBJMACROS
263#ifndef WIDL_C_INLINE_WRAPPERS
264/*** IUnknown methods ***/
265#define IVssSnapshotMgmt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
266#define IVssSnapshotMgmt_AddRef(This) (This)->lpVtbl->AddRef(This)
267#define IVssSnapshotMgmt_Release(This) (This)->lpVtbl->Release(This)
268/*** IVssSnapshotMgmt methods ***/
269#define IVssSnapshotMgmt_GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf) (This)->lpVtbl->GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf)
270#define IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum)
271#define IVssSnapshotMgmt_QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum) (This)->lpVtbl->QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum)
272#else
273/*** IUnknown methods ***/
274static inline HRESULT IVssSnapshotMgmt_QueryInterface(IVssSnapshotMgmt* This,REFIID riid,void **ppvObject) {
275 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
276}
277static inline ULONG IVssSnapshotMgmt_AddRef(IVssSnapshotMgmt* This) {
278 return This->lpVtbl->AddRef(This);
279}
280static inline ULONG IVssSnapshotMgmt_Release(IVssSnapshotMgmt* This) {
281 return This->lpVtbl->Release(This);
282}
283/*** IVssSnapshotMgmt methods ***/
284static inline HRESULT IVssSnapshotMgmt_GetProviderMgmtInterface(IVssSnapshotMgmt* This,VSS_ID ProviderId,REFIID InterfaceId,IUnknown **ppItf) {
285 return This->lpVtbl->GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf);
286}
287static inline HRESULT IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots(IVssSnapshotMgmt* This,VSS_ID ProviderId,LONG lContext,IVssEnumMgmtObject **ppEnum) {
288 return This->lpVtbl->QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum);
289}
290static inline HRESULT IVssSnapshotMgmt_QuerySnapshotsByVolume(IVssSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,IVssEnumObject **ppEnum) {
291 return This->lpVtbl->QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum);
292}
293#endif
294#endif
295
296#endif
297
298
299#endif /* __IVssSnapshotMgmt_INTERFACE_DEFINED__ */
300
301/*****************************************************************************
302 * IVssSnapshotMgmt2 interface
303 */
304#ifndef __IVssSnapshotMgmt2_INTERFACE_DEFINED__
305#define __IVssSnapshotMgmt2_INTERFACE_DEFINED__
306
307DEFINE_GUID(IID_IVssSnapshotMgmt2, 0x0f61ec39, 0xfe82, 0x45f2, 0xa3,0xf0, 0x76,0x8b,0x5d,0x42,0x71,0x02);
308#if defined(__cplusplus) && !defined(CINTERFACE)
309MIDL_INTERFACE("0f61ec39-fe82-45f2-a3f0-768b5d427102")
310IVssSnapshotMgmt2 : public IUnknown
311{
312 virtual HRESULT STDMETHODCALLTYPE GetMinDiffAreaSize(
313 LONGLONG *pllMinDiffAreaSize) = 0;
314
315};
316#ifdef __CRT_UUID_DECL
317__CRT_UUID_DECL(IVssSnapshotMgmt2, 0x0f61ec39, 0xfe82, 0x45f2, 0xa3,0xf0, 0x76,0x8b,0x5d,0x42,0x71,0x02)
318#endif
319#else
320typedef struct IVssSnapshotMgmt2Vtbl {
321 BEGIN_INTERFACE
322
323 /*** IUnknown methods ***/
324 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
325 IVssSnapshotMgmt2 *This,
326 REFIID riid,
327 void **ppvObject);
328
329 ULONG (STDMETHODCALLTYPE *AddRef)(
330 IVssSnapshotMgmt2 *This);
331
332 ULONG (STDMETHODCALLTYPE *Release)(
333 IVssSnapshotMgmt2 *This);
334
335 /*** IVssSnapshotMgmt2 methods ***/
336 HRESULT (STDMETHODCALLTYPE *GetMinDiffAreaSize)(
337 IVssSnapshotMgmt2 *This,
338 LONGLONG *pllMinDiffAreaSize);
339
340 END_INTERFACE
341} IVssSnapshotMgmt2Vtbl;
342
343interface IVssSnapshotMgmt2 {
344 CONST_VTBL IVssSnapshotMgmt2Vtbl* lpVtbl;
345};
346
347#ifdef COBJMACROS
348#ifndef WIDL_C_INLINE_WRAPPERS
349/*** IUnknown methods ***/
350#define IVssSnapshotMgmt2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
351#define IVssSnapshotMgmt2_AddRef(This) (This)->lpVtbl->AddRef(This)
352#define IVssSnapshotMgmt2_Release(This) (This)->lpVtbl->Release(This)
353/*** IVssSnapshotMgmt2 methods ***/
354#define IVssSnapshotMgmt2_GetMinDiffAreaSize(This,pllMinDiffAreaSize) (This)->lpVtbl->GetMinDiffAreaSize(This,pllMinDiffAreaSize)
355#else
356/*** IUnknown methods ***/
357static inline HRESULT IVssSnapshotMgmt2_QueryInterface(IVssSnapshotMgmt2* This,REFIID riid,void **ppvObject) {
358 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
359}
360static inline ULONG IVssSnapshotMgmt2_AddRef(IVssSnapshotMgmt2* This) {
361 return This->lpVtbl->AddRef(This);
362}
363static inline ULONG IVssSnapshotMgmt2_Release(IVssSnapshotMgmt2* This) {
364 return This->lpVtbl->Release(This);
365}
366/*** IVssSnapshotMgmt2 methods ***/
367static inline HRESULT IVssSnapshotMgmt2_GetMinDiffAreaSize(IVssSnapshotMgmt2* This,LONGLONG *pllMinDiffAreaSize) {
368 return This->lpVtbl->GetMinDiffAreaSize(This,pllMinDiffAreaSize);
369}
370#endif
371#endif
372
373#endif
374
375
376#endif /* __IVssSnapshotMgmt2_INTERFACE_DEFINED__ */
377
378/*****************************************************************************
379 * IVssDifferentialSoftwareSnapshotMgmt interface
380 */
381#ifndef __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__
382#define __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__
383
384DEFINE_GUID(IID_IVssDifferentialSoftwareSnapshotMgmt, 0x214a0f28, 0xb737, 0x4026, 0xb8,0x47, 0x4f,0x9e,0x37,0xd7,0x95,0x29);
385#if defined(__cplusplus) && !defined(CINTERFACE)
386MIDL_INTERFACE("214a0f28-b737-4026-b847-4f9e37d79529")
387IVssDifferentialSoftwareSnapshotMgmt : public IUnknown
388{
389 virtual HRESULT STDMETHODCALLTYPE AddDiffArea(
390 VSS_PWSZ pwszVolumeName,
391 VSS_PWSZ pwszDiffAreaVolumeName,
392 LONGLONG llMaximumDiffSpace) = 0;
393
394 virtual HRESULT STDMETHODCALLTYPE ChangeDiffAreaMaximumSize(
395 VSS_PWSZ pwszVolumeName,
396 VSS_PWSZ pwszDiffAreaVolumeName,
397 LONGLONG llMaximumDiffSpace) = 0;
398
399 virtual HRESULT STDMETHODCALLTYPE QueryVolumesSupportedForDiffAreas(
400 VSS_PWSZ pwszOriginalVolumeName,
401 IVssEnumMgmtObject **ppEnum) = 0;
402
403 virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasForVolume(
404 VSS_PWSZ pwszVolumeName,
405 IVssEnumMgmtObject **ppEnum) = 0;
406
407 virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasOnVolume(
408 VSS_PWSZ pwszVolumeName,
409 IVssEnumMgmtObject **ppEnum) = 0;
410
411 virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasForSnapshot(
412 VSS_ID SnapshotId,
413 IVssEnumMgmtObject **ppEnum) = 0;
414
415};
416#ifdef __CRT_UUID_DECL
417__CRT_UUID_DECL(IVssDifferentialSoftwareSnapshotMgmt, 0x214a0f28, 0xb737, 0x4026, 0xb8,0x47, 0x4f,0x9e,0x37,0xd7,0x95,0x29)
418#endif
419#else
420typedef struct IVssDifferentialSoftwareSnapshotMgmtVtbl {
421 BEGIN_INTERFACE
422
423 /*** IUnknown methods ***/
424 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
425 IVssDifferentialSoftwareSnapshotMgmt *This,
426 REFIID riid,
427 void **ppvObject);
428
429 ULONG (STDMETHODCALLTYPE *AddRef)(
430 IVssDifferentialSoftwareSnapshotMgmt *This);
431
432 ULONG (STDMETHODCALLTYPE *Release)(
433 IVssDifferentialSoftwareSnapshotMgmt *This);
434
435 /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
436 HRESULT (STDMETHODCALLTYPE *AddDiffArea)(
437 IVssDifferentialSoftwareSnapshotMgmt *This,
438 VSS_PWSZ pwszVolumeName,
439 VSS_PWSZ pwszDiffAreaVolumeName,
440 LONGLONG llMaximumDiffSpace);
441
442 HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize)(
443 IVssDifferentialSoftwareSnapshotMgmt *This,
444 VSS_PWSZ pwszVolumeName,
445 VSS_PWSZ pwszDiffAreaVolumeName,
446 LONGLONG llMaximumDiffSpace);
447
448 HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForDiffAreas)(
449 IVssDifferentialSoftwareSnapshotMgmt *This,
450 VSS_PWSZ pwszOriginalVolumeName,
451 IVssEnumMgmtObject **ppEnum);
452
453 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForVolume)(
454 IVssDifferentialSoftwareSnapshotMgmt *This,
455 VSS_PWSZ pwszVolumeName,
456 IVssEnumMgmtObject **ppEnum);
457
458 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasOnVolume)(
459 IVssDifferentialSoftwareSnapshotMgmt *This,
460 VSS_PWSZ pwszVolumeName,
461 IVssEnumMgmtObject **ppEnum);
462
463 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForSnapshot)(
464 IVssDifferentialSoftwareSnapshotMgmt *This,
465 VSS_ID SnapshotId,
466 IVssEnumMgmtObject **ppEnum);
467
468 END_INTERFACE
469} IVssDifferentialSoftwareSnapshotMgmtVtbl;
470
471interface IVssDifferentialSoftwareSnapshotMgmt {
472 CONST_VTBL IVssDifferentialSoftwareSnapshotMgmtVtbl* lpVtbl;
473};
474
475#ifdef COBJMACROS
476#ifndef WIDL_C_INLINE_WRAPPERS
477/*** IUnknown methods ***/
478#define IVssDifferentialSoftwareSnapshotMgmt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
479#define IVssDifferentialSoftwareSnapshotMgmt_AddRef(This) (This)->lpVtbl->AddRef(This)
480#define IVssDifferentialSoftwareSnapshotMgmt_Release(This) (This)->lpVtbl->Release(This)
481/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
482#define IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
483#define IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
484#define IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)
485#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)
486#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)
487#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)
488#else
489/*** IUnknown methods ***/
490static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt* This,REFIID riid,void **ppvObject) {
491 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
492}
493static inline ULONG IVssDifferentialSoftwareSnapshotMgmt_AddRef(IVssDifferentialSoftwareSnapshotMgmt* This) {
494 return This->lpVtbl->AddRef(This);
495}
496static inline ULONG IVssDifferentialSoftwareSnapshotMgmt_Release(IVssDifferentialSoftwareSnapshotMgmt* This) {
497 return This->lpVtbl->Release(This);
498}
499/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
500static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
501 return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
502}
503static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
504 return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
505}
506static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) {
507 return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum);
508}
509static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
510 return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum);
511}
512static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
513 return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum);
514}
515static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) {
516 return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum);
517}
518#endif
519#endif
520
521#endif
522
523
524#endif /* __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__ */
525
526/*****************************************************************************
527 * IVssDifferentialSoftwareSnapshotMgmt2 interface
528 */
529#ifndef __IVssDifferentialSoftwareSnapshotMgmt2_INTERFACE_DEFINED__
530#define __IVssDifferentialSoftwareSnapshotMgmt2_INTERFACE_DEFINED__
531
532DEFINE_GUID(IID_IVssDifferentialSoftwareSnapshotMgmt2, 0x949d7353, 0x675f, 0x4275, 0x89,0x69, 0xf0,0x44,0xc6,0x27,0x78,0x15);
533#if defined(__cplusplus) && !defined(CINTERFACE)
534MIDL_INTERFACE("949d7353-675f-4275-8969-f044c6277815")
535IVssDifferentialSoftwareSnapshotMgmt2 : public IVssDifferentialSoftwareSnapshotMgmt
536{
537 virtual HRESULT STDMETHODCALLTYPE ChangeDiffAreaMaximumSizeEx(
538 VSS_PWSZ pwszVolumeName,
539 VSS_PWSZ pwszDiffAreaVolumeName,
540 LONGLONG llMaximumDiffSpace,
541 WINBOOL bVolatile) = 0;
542
543 virtual HRESULT STDMETHODCALLTYPE MigrateDiffAreas(
544 VSS_PWSZ pwszVolumeName,
545 VSS_PWSZ pwszDiffAreaVolumeName,
546 VSS_PWSZ pwszNewDiffAreaVolumeName) = 0;
547
548 virtual HRESULT STDMETHODCALLTYPE QueryMigrationStatus(
549 VSS_PWSZ pwszVolumeName,
550 VSS_PWSZ pwszDiffAreaVolumeName,
551 IVssAsync **ppAsync) = 0;
552
553 virtual HRESULT STDMETHODCALLTYPE SetSnapshotPriority(
554 VSS_ID idSnapshot,
555 BYTE priority) = 0;
556
557};
558#ifdef __CRT_UUID_DECL
559__CRT_UUID_DECL(IVssDifferentialSoftwareSnapshotMgmt2, 0x949d7353, 0x675f, 0x4275, 0x89,0x69, 0xf0,0x44,0xc6,0x27,0x78,0x15)
560#endif
561#else
562typedef struct IVssDifferentialSoftwareSnapshotMgmt2Vtbl {
563 BEGIN_INTERFACE
564
565 /*** IUnknown methods ***/
566 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
567 IVssDifferentialSoftwareSnapshotMgmt2 *This,
568 REFIID riid,
569 void **ppvObject);
570
571 ULONG (STDMETHODCALLTYPE *AddRef)(
572 IVssDifferentialSoftwareSnapshotMgmt2 *This);
573
574 ULONG (STDMETHODCALLTYPE *Release)(
575 IVssDifferentialSoftwareSnapshotMgmt2 *This);
576
577 /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
578 HRESULT (STDMETHODCALLTYPE *AddDiffArea)(
579 IVssDifferentialSoftwareSnapshotMgmt2 *This,
580 VSS_PWSZ pwszVolumeName,
581 VSS_PWSZ pwszDiffAreaVolumeName,
582 LONGLONG llMaximumDiffSpace);
583
584 HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize)(
585 IVssDifferentialSoftwareSnapshotMgmt2 *This,
586 VSS_PWSZ pwszVolumeName,
587 VSS_PWSZ pwszDiffAreaVolumeName,
588 LONGLONG llMaximumDiffSpace);
589
590 HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForDiffAreas)(
591 IVssDifferentialSoftwareSnapshotMgmt2 *This,
592 VSS_PWSZ pwszOriginalVolumeName,
593 IVssEnumMgmtObject **ppEnum);
594
595 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForVolume)(
596 IVssDifferentialSoftwareSnapshotMgmt2 *This,
597 VSS_PWSZ pwszVolumeName,
598 IVssEnumMgmtObject **ppEnum);
599
600 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasOnVolume)(
601 IVssDifferentialSoftwareSnapshotMgmt2 *This,
602 VSS_PWSZ pwszVolumeName,
603 IVssEnumMgmtObject **ppEnum);
604
605 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForSnapshot)(
606 IVssDifferentialSoftwareSnapshotMgmt2 *This,
607 VSS_ID SnapshotId,
608 IVssEnumMgmtObject **ppEnum);
609
610 /*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
611 HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSizeEx)(
612 IVssDifferentialSoftwareSnapshotMgmt2 *This,
613 VSS_PWSZ pwszVolumeName,
614 VSS_PWSZ pwszDiffAreaVolumeName,
615 LONGLONG llMaximumDiffSpace,
616 WINBOOL bVolatile);
617
618 HRESULT (STDMETHODCALLTYPE *MigrateDiffAreas)(
619 IVssDifferentialSoftwareSnapshotMgmt2 *This,
620 VSS_PWSZ pwszVolumeName,
621 VSS_PWSZ pwszDiffAreaVolumeName,
622 VSS_PWSZ pwszNewDiffAreaVolumeName);
623
624 HRESULT (STDMETHODCALLTYPE *QueryMigrationStatus)(
625 IVssDifferentialSoftwareSnapshotMgmt2 *This,
626 VSS_PWSZ pwszVolumeName,
627 VSS_PWSZ pwszDiffAreaVolumeName,
628 IVssAsync **ppAsync);
629
630 HRESULT (STDMETHODCALLTYPE *SetSnapshotPriority)(
631 IVssDifferentialSoftwareSnapshotMgmt2 *This,
632 VSS_ID idSnapshot,
633 BYTE priority);
634
635 END_INTERFACE
636} IVssDifferentialSoftwareSnapshotMgmt2Vtbl;
637
638interface IVssDifferentialSoftwareSnapshotMgmt2 {
639 CONST_VTBL IVssDifferentialSoftwareSnapshotMgmt2Vtbl* lpVtbl;
640};
641
642#ifdef COBJMACROS
643#ifndef WIDL_C_INLINE_WRAPPERS
644/*** IUnknown methods ***/
645#define IVssDifferentialSoftwareSnapshotMgmt2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
646#define IVssDifferentialSoftwareSnapshotMgmt2_AddRef(This) (This)->lpVtbl->AddRef(This)
647#define IVssDifferentialSoftwareSnapshotMgmt2_Release(This) (This)->lpVtbl->Release(This)
648/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
649#define IVssDifferentialSoftwareSnapshotMgmt2_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
650#define IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
651#define IVssDifferentialSoftwareSnapshotMgmt2_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)
652#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)
653#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)
654#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)
655/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
656#define IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) (This)->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile)
657#define IVssDifferentialSoftwareSnapshotMgmt2_MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName) (This)->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName)
658#define IVssDifferentialSoftwareSnapshotMgmt2_QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync) (This)->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync)
659#define IVssDifferentialSoftwareSnapshotMgmt2_SetSnapshotPriority(This,idSnapshot,priority) (This)->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority)
660#else
661/*** IUnknown methods ***/
662static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt2* This,REFIID riid,void **ppvObject) {
663 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
664}
665static inline ULONG IVssDifferentialSoftwareSnapshotMgmt2_AddRef(IVssDifferentialSoftwareSnapshotMgmt2* This) {
666 return This->lpVtbl->AddRef(This);
667}
668static inline ULONG IVssDifferentialSoftwareSnapshotMgmt2_Release(IVssDifferentialSoftwareSnapshotMgmt2* This) {
669 return This->lpVtbl->Release(This);
670}
671/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
672static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
673 return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
674}
675static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
676 return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
677}
678static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) {
679 return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum);
680}
681static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
682 return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum);
683}
684static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
685 return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum);
686}
687static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) {
688 return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum);
689}
690/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
691static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSizeEx(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace,WINBOOL bVolatile) {
692 return This->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile);
693}
694static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_MigrateDiffAreas(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,VSS_PWSZ pwszNewDiffAreaVolumeName) {
695 return This->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName);
696}
697static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryMigrationStatus(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,IVssAsync **ppAsync) {
698 return This->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync);
699}
700static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_SetSnapshotPriority(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_ID idSnapshot,BYTE priority) {
701 return This->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority);
702}
703#endif
704#endif
705
706#endif
707
708
709#endif /* __IVssDifferentialSoftwareSnapshotMgmt2_INTERFACE_DEFINED__ */
710
711/*****************************************************************************
712 * IVssDifferentialSoftwareSnapshotMgmt3 interface
713 */
714#ifndef __IVssDifferentialSoftwareSnapshotMgmt3_INTERFACE_DEFINED__
715#define __IVssDifferentialSoftwareSnapshotMgmt3_INTERFACE_DEFINED__
716
717DEFINE_GUID(IID_IVssDifferentialSoftwareSnapshotMgmt3, 0x383f7e71, 0xa4c5, 0x401f, 0xb2,0x7f, 0xf8,0x26,0x28,0x9f,0x84,0x58);
718#if defined(__cplusplus) && !defined(CINTERFACE)
719MIDL_INTERFACE("383f7e71-a4c5-401f-b27f-f826289f8458")
720IVssDifferentialSoftwareSnapshotMgmt3 : public IVssDifferentialSoftwareSnapshotMgmt2
721{
722 virtual HRESULT STDMETHODCALLTYPE SetVolumeProtectLevel(
723 VSS_PWSZ pwszVolumeName,
724 VSS_PROTECTION_LEVEL protectionLevel) = 0;
725
726 virtual HRESULT STDMETHODCALLTYPE GetVolumeProtectLevel(
727 VSS_PWSZ pwszVolumeName,
728 VSS_VOLUME_PROTECTION_INFO *protectionLevel) = 0;
729
730 virtual HRESULT STDMETHODCALLTYPE ClearVolumeProtectFault(
731 VSS_PWSZ pwszVolumeName) = 0;
732
733 virtual HRESULT STDMETHODCALLTYPE DeleteUnusedDiffAreas(
734 VSS_PWSZ pwszDiffAreaVolumeName) = 0;
735
736 virtual HRESULT STDMETHODCALLTYPE QuerySnapshotDeltaBitmap(
737 VSS_ID idSnapshotOlder,
738 VSS_ID idSnapshotYounger,
739 ULONG *pcBlockSizePerBit,
740 ULONG *pcBitmapLength,
741 BYTE **ppbBitmap) = 0;
742
743};
744#ifdef __CRT_UUID_DECL
745__CRT_UUID_DECL(IVssDifferentialSoftwareSnapshotMgmt3, 0x383f7e71, 0xa4c5, 0x401f, 0xb2,0x7f, 0xf8,0x26,0x28,0x9f,0x84,0x58)
746#endif
747#else
748typedef struct IVssDifferentialSoftwareSnapshotMgmt3Vtbl {
749 BEGIN_INTERFACE
750
751 /*** IUnknown methods ***/
752 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
753 IVssDifferentialSoftwareSnapshotMgmt3 *This,
754 REFIID riid,
755 void **ppvObject);
756
757 ULONG (STDMETHODCALLTYPE *AddRef)(
758 IVssDifferentialSoftwareSnapshotMgmt3 *This);
759
760 ULONG (STDMETHODCALLTYPE *Release)(
761 IVssDifferentialSoftwareSnapshotMgmt3 *This);
762
763 /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
764 HRESULT (STDMETHODCALLTYPE *AddDiffArea)(
765 IVssDifferentialSoftwareSnapshotMgmt3 *This,
766 VSS_PWSZ pwszVolumeName,
767 VSS_PWSZ pwszDiffAreaVolumeName,
768 LONGLONG llMaximumDiffSpace);
769
770 HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize)(
771 IVssDifferentialSoftwareSnapshotMgmt3 *This,
772 VSS_PWSZ pwszVolumeName,
773 VSS_PWSZ pwszDiffAreaVolumeName,
774 LONGLONG llMaximumDiffSpace);
775
776 HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForDiffAreas)(
777 IVssDifferentialSoftwareSnapshotMgmt3 *This,
778 VSS_PWSZ pwszOriginalVolumeName,
779 IVssEnumMgmtObject **ppEnum);
780
781 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForVolume)(
782 IVssDifferentialSoftwareSnapshotMgmt3 *This,
783 VSS_PWSZ pwszVolumeName,
784 IVssEnumMgmtObject **ppEnum);
785
786 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasOnVolume)(
787 IVssDifferentialSoftwareSnapshotMgmt3 *This,
788 VSS_PWSZ pwszVolumeName,
789 IVssEnumMgmtObject **ppEnum);
790
791 HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForSnapshot)(
792 IVssDifferentialSoftwareSnapshotMgmt3 *This,
793 VSS_ID SnapshotId,
794 IVssEnumMgmtObject **ppEnum);
795
796 /*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
797 HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSizeEx)(
798 IVssDifferentialSoftwareSnapshotMgmt3 *This,
799 VSS_PWSZ pwszVolumeName,
800 VSS_PWSZ pwszDiffAreaVolumeName,
801 LONGLONG llMaximumDiffSpace,
802 WINBOOL bVolatile);
803
804 HRESULT (STDMETHODCALLTYPE *MigrateDiffAreas)(
805 IVssDifferentialSoftwareSnapshotMgmt3 *This,
806 VSS_PWSZ pwszVolumeName,
807 VSS_PWSZ pwszDiffAreaVolumeName,
808 VSS_PWSZ pwszNewDiffAreaVolumeName);
809
810 HRESULT (STDMETHODCALLTYPE *QueryMigrationStatus)(
811 IVssDifferentialSoftwareSnapshotMgmt3 *This,
812 VSS_PWSZ pwszVolumeName,
813 VSS_PWSZ pwszDiffAreaVolumeName,
814 IVssAsync **ppAsync);
815
816 HRESULT (STDMETHODCALLTYPE *SetSnapshotPriority)(
817 IVssDifferentialSoftwareSnapshotMgmt3 *This,
818 VSS_ID idSnapshot,
819 BYTE priority);
820
821 /*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/
822 HRESULT (STDMETHODCALLTYPE *SetVolumeProtectLevel)(
823 IVssDifferentialSoftwareSnapshotMgmt3 *This,
824 VSS_PWSZ pwszVolumeName,
825 VSS_PROTECTION_LEVEL protectionLevel);
826
827 HRESULT (STDMETHODCALLTYPE *GetVolumeProtectLevel)(
828 IVssDifferentialSoftwareSnapshotMgmt3 *This,
829 VSS_PWSZ pwszVolumeName,
830 VSS_VOLUME_PROTECTION_INFO *protectionLevel);
831
832 HRESULT (STDMETHODCALLTYPE *ClearVolumeProtectFault)(
833 IVssDifferentialSoftwareSnapshotMgmt3 *This,
834 VSS_PWSZ pwszVolumeName);
835
836 HRESULT (STDMETHODCALLTYPE *DeleteUnusedDiffAreas)(
837 IVssDifferentialSoftwareSnapshotMgmt3 *This,
838 VSS_PWSZ pwszDiffAreaVolumeName);
839
840 HRESULT (STDMETHODCALLTYPE *QuerySnapshotDeltaBitmap)(
841 IVssDifferentialSoftwareSnapshotMgmt3 *This,
842 VSS_ID idSnapshotOlder,
843 VSS_ID idSnapshotYounger,
844 ULONG *pcBlockSizePerBit,
845 ULONG *pcBitmapLength,
846 BYTE **ppbBitmap);
847
848 END_INTERFACE
849} IVssDifferentialSoftwareSnapshotMgmt3Vtbl;
850
851interface IVssDifferentialSoftwareSnapshotMgmt3 {
852 CONST_VTBL IVssDifferentialSoftwareSnapshotMgmt3Vtbl* lpVtbl;
853};
854
855#ifdef COBJMACROS
856#ifndef WIDL_C_INLINE_WRAPPERS
857/*** IUnknown methods ***/
858#define IVssDifferentialSoftwareSnapshotMgmt3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
859#define IVssDifferentialSoftwareSnapshotMgmt3_AddRef(This) (This)->lpVtbl->AddRef(This)
860#define IVssDifferentialSoftwareSnapshotMgmt3_Release(This) (This)->lpVtbl->Release(This)
861/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
862#define IVssDifferentialSoftwareSnapshotMgmt3_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
863#define IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
864#define IVssDifferentialSoftwareSnapshotMgmt3_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)
865#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)
866#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)
867#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)
868/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
869#define IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) (This)->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile)
870#define IVssDifferentialSoftwareSnapshotMgmt3_MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName) (This)->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName)
871#define IVssDifferentialSoftwareSnapshotMgmt3_QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync) (This)->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync)
872#define IVssDifferentialSoftwareSnapshotMgmt3_SetSnapshotPriority(This,idSnapshot,priority) (This)->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority)
873/*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/
874#define IVssDifferentialSoftwareSnapshotMgmt3_SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) (This)->lpVtbl->SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel)
875#define IVssDifferentialSoftwareSnapshotMgmt3_GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) (This)->lpVtbl->GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel)
876#define IVssDifferentialSoftwareSnapshotMgmt3_ClearVolumeProtectFault(This,pwszVolumeName) (This)->lpVtbl->ClearVolumeProtectFault(This,pwszVolumeName)
877#define IVssDifferentialSoftwareSnapshotMgmt3_DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName) (This)->lpVtbl->DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName)
878#define IVssDifferentialSoftwareSnapshotMgmt3_QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap) (This)->lpVtbl->QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap)
879#else
880/*** IUnknown methods ***/
881static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt3* This,REFIID riid,void **ppvObject) {
882 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
883}
884static inline ULONG IVssDifferentialSoftwareSnapshotMgmt3_AddRef(IVssDifferentialSoftwareSnapshotMgmt3* This) {
885 return This->lpVtbl->AddRef(This);
886}
887static inline ULONG IVssDifferentialSoftwareSnapshotMgmt3_Release(IVssDifferentialSoftwareSnapshotMgmt3* This) {
888 return This->lpVtbl->Release(This);
889}
890/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
891static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
892 return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
893}
894static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
895 return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
896}
897static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) {
898 return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum);
899}
900static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
901 return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum);
902}
903static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
904 return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum);
905}
906static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) {
907 return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum);
908}
909/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
910static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSizeEx(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace,WINBOOL bVolatile) {
911 return This->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile);
912}
913static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_MigrateDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,VSS_PWSZ pwszNewDiffAreaVolumeName) {
914 return This->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName);
915}
916static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryMigrationStatus(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,IVssAsync **ppAsync) {
917 return This->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync);
918}
919static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_SetSnapshotPriority(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID idSnapshot,BYTE priority) {
920 return This->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority);
921}
922/*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/
923static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_SetVolumeProtectLevel(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PROTECTION_LEVEL protectionLevel) {
924 return This->lpVtbl->SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel);
925}
926static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_GetVolumeProtectLevel(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_VOLUME_PROTECTION_INFO *protectionLevel) {
927 return This->lpVtbl->GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel);
928}
929static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ClearVolumeProtectFault(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName) {
930 return This->lpVtbl->ClearVolumeProtectFault(This,pwszVolumeName);
931}
932static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_DeleteUnusedDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszDiffAreaVolumeName) {
933 return This->lpVtbl->DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName);
934}
935static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QuerySnapshotDeltaBitmap(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID idSnapshotOlder,VSS_ID idSnapshotYounger,ULONG *pcBlockSizePerBit,ULONG *pcBitmapLength,BYTE **ppbBitmap) {
936 return This->lpVtbl->QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap);
937}
938#endif
939#endif
940
941#endif
942
943
944#endif /* __IVssDifferentialSoftwareSnapshotMgmt3_INTERFACE_DEFINED__ */
945
946/*****************************************************************************
947 * IVssEnumMgmtObject interface
948 */
949#ifndef __IVssEnumMgmtObject_INTERFACE_DEFINED__
950#define __IVssEnumMgmtObject_INTERFACE_DEFINED__
951
952DEFINE_GUID(IID_IVssEnumMgmtObject, 0x01954e6b, 0x9254, 0x4e6e, 0x80,0x8c, 0xc9,0xe0,0x5d,0x00,0x76,0x96);
953#if defined(__cplusplus) && !defined(CINTERFACE)
954MIDL_INTERFACE("01954e6b-9254-4e6e-808c-c9e05d007696")
955IVssEnumMgmtObject : public IUnknown
956{
957 virtual HRESULT STDMETHODCALLTYPE Next(
958 ULONG celt,
959 VSS_MGMT_OBJECT_PROP *rgelt,
960 ULONG *pceltFetched) = 0;
961
962 virtual HRESULT STDMETHODCALLTYPE Skip(
963 ULONG celt) = 0;
964
965 virtual HRESULT STDMETHODCALLTYPE Reset(
966 ) = 0;
967
968 virtual HRESULT STDMETHODCALLTYPE Clone(
969 IVssEnumMgmtObject **ppenum) = 0;
970
971};
972#ifdef __CRT_UUID_DECL
973__CRT_UUID_DECL(IVssEnumMgmtObject, 0x01954e6b, 0x9254, 0x4e6e, 0x80,0x8c, 0xc9,0xe0,0x5d,0x00,0x76,0x96)
974#endif
975#else
976typedef struct IVssEnumMgmtObjectVtbl {
977 BEGIN_INTERFACE
978
979 /*** IUnknown methods ***/
980 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
981 IVssEnumMgmtObject *This,
982 REFIID riid,
983 void **ppvObject);
984
985 ULONG (STDMETHODCALLTYPE *AddRef)(
986 IVssEnumMgmtObject *This);
987
988 ULONG (STDMETHODCALLTYPE *Release)(
989 IVssEnumMgmtObject *This);
990
991 /*** IVssEnumMgmtObject methods ***/
992 HRESULT (STDMETHODCALLTYPE *Next)(
993 IVssEnumMgmtObject *This,
994 ULONG celt,
995 VSS_MGMT_OBJECT_PROP *rgelt,
996 ULONG *pceltFetched);
997
998 HRESULT (STDMETHODCALLTYPE *Skip)(
999 IVssEnumMgmtObject *This,
1000 ULONG celt);
1001
1002 HRESULT (STDMETHODCALLTYPE *Reset)(
1003 IVssEnumMgmtObject *This);
1004
1005 HRESULT (STDMETHODCALLTYPE *Clone)(
1006 IVssEnumMgmtObject *This,
1007 IVssEnumMgmtObject **ppenum);
1008
1009 END_INTERFACE
1010} IVssEnumMgmtObjectVtbl;
1011
1012interface IVssEnumMgmtObject {
1013 CONST_VTBL IVssEnumMgmtObjectVtbl* lpVtbl;
1014};
1015
1016#ifdef COBJMACROS
1017#ifndef WIDL_C_INLINE_WRAPPERS
1018/*** IUnknown methods ***/
1019#define IVssEnumMgmtObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1020#define IVssEnumMgmtObject_AddRef(This) (This)->lpVtbl->AddRef(This)
1021#define IVssEnumMgmtObject_Release(This) (This)->lpVtbl->Release(This)
1022/*** IVssEnumMgmtObject methods ***/
1023#define IVssEnumMgmtObject_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
1024#define IVssEnumMgmtObject_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
1025#define IVssEnumMgmtObject_Reset(This) (This)->lpVtbl->Reset(This)
1026#define IVssEnumMgmtObject_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
1027#else
1028/*** IUnknown methods ***/
1029static inline HRESULT IVssEnumMgmtObject_QueryInterface(IVssEnumMgmtObject* This,REFIID riid,void **ppvObject) {
1030 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1031}
1032static inline ULONG IVssEnumMgmtObject_AddRef(IVssEnumMgmtObject* This) {
1033 return This->lpVtbl->AddRef(This);
1034}
1035static inline ULONG IVssEnumMgmtObject_Release(IVssEnumMgmtObject* This) {
1036 return This->lpVtbl->Release(This);
1037}
1038/*** IVssEnumMgmtObject methods ***/
1039static inline HRESULT IVssEnumMgmtObject_Next(IVssEnumMgmtObject* This,ULONG celt,VSS_MGMT_OBJECT_PROP *rgelt,ULONG *pceltFetched) {
1040 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
1041}
1042static inline HRESULT IVssEnumMgmtObject_Skip(IVssEnumMgmtObject* This,ULONG celt) {
1043 return This->lpVtbl->Skip(This,celt);
1044}
1045static inline HRESULT IVssEnumMgmtObject_Reset(IVssEnumMgmtObject* This) {
1046 return This->lpVtbl->Reset(This);
1047}
1048static inline HRESULT IVssEnumMgmtObject_Clone(IVssEnumMgmtObject* This,IVssEnumMgmtObject **ppenum) {
1049 return This->lpVtbl->Clone(This,ppenum);
1050}
1051#endif
1052#endif
1053
1054#endif
1055
1056
1057#endif /* __IVssEnumMgmtObject_INTERFACE_DEFINED__ */
1058
1059#ifndef __VSMGMT_LIBRARY_DEFINED__
1060#define __VSMGMT_LIBRARY_DEFINED__
1061
1062DEFINE_GUID(LIBID_VSMGMT, 0x84015c41, 0x291d, 0x49e6, 0xbf,0x7f, 0xdd,0x40,0xae,0x93,0x63,0x2b);
1063
1064/*****************************************************************************
1065 * VssSnapshotMgmt coclass
1066 */
1067
1068DEFINE_GUID(CLSID_VssSnapshotMgmt, 0x0b5a2c52, 0x3eb9, 0x470a, 0x96,0xe2, 0x6c,0x6d,0x45,0x70,0xe4,0x0f);
1069
1070#ifdef __cplusplus
1071class DECLSPEC_UUID("0b5a2c52-3eb9-470a-96e2-6c6d4570e40f") VssSnapshotMgmt;
1072#ifdef __CRT_UUID_DECL
1073__CRT_UUID_DECL(VssSnapshotMgmt, 0x0b5a2c52, 0x3eb9, 0x470a, 0x96,0xe2, 0x6c,0x6d,0x45,0x70,0xe4,0x0f)
1074#endif
1075#endif
1076
1077#endif /* __VSMGMT_LIBRARY_DEFINED__ */
1078#endif /* WINAPI_PARTITION_DESKTOP */
1079/* Begin additional prototypes for all interfaces */
1080
1081
1082/* End additional prototypes */
1083
1084#ifdef __cplusplus
1085}
1086#endif
1087
1088#endif /* __vsmgmt_h__ */