mingw-w64/mingw-w64-headers/include/vsmgmt.h
Jacek Caban dc8fadfa25 headers: Regenerate headers with current widl version.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2024-10-18 23:16:07 +02:00

1089 lines
48 KiB
C++

/*** Autogenerated by WIDL 9.20 from include/vsmgmt.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __vsmgmt_h__
#define __vsmgmt_h__
/* Forward declarations */
#ifndef __IVssSnapshotMgmt_FWD_DEFINED__
#define __IVssSnapshotMgmt_FWD_DEFINED__
typedef interface IVssSnapshotMgmt IVssSnapshotMgmt;
#ifdef __cplusplus
interface IVssSnapshotMgmt;
#endif /* __cplusplus */
#endif
#ifndef __IVssSnapshotMgmt2_FWD_DEFINED__
#define __IVssSnapshotMgmt2_FWD_DEFINED__
typedef interface IVssSnapshotMgmt2 IVssSnapshotMgmt2;
#ifdef __cplusplus
interface IVssSnapshotMgmt2;
#endif /* __cplusplus */
#endif
#ifndef __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
#define __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
typedef interface IVssDifferentialSoftwareSnapshotMgmt IVssDifferentialSoftwareSnapshotMgmt;
#ifdef __cplusplus
interface IVssDifferentialSoftwareSnapshotMgmt;
#endif /* __cplusplus */
#endif
#ifndef __IVssDifferentialSoftwareSnapshotMgmt2_FWD_DEFINED__
#define __IVssDifferentialSoftwareSnapshotMgmt2_FWD_DEFINED__
typedef interface IVssDifferentialSoftwareSnapshotMgmt2 IVssDifferentialSoftwareSnapshotMgmt2;
#ifdef __cplusplus
interface IVssDifferentialSoftwareSnapshotMgmt2;
#endif /* __cplusplus */
#endif
#ifndef __IVssDifferentialSoftwareSnapshotMgmt3_FWD_DEFINED__
#define __IVssDifferentialSoftwareSnapshotMgmt3_FWD_DEFINED__
typedef interface IVssDifferentialSoftwareSnapshotMgmt3 IVssDifferentialSoftwareSnapshotMgmt3;
#ifdef __cplusplus
interface IVssDifferentialSoftwareSnapshotMgmt3;
#endif /* __cplusplus */
#endif
#ifndef __IVssEnumMgmtObject_FWD_DEFINED__
#define __IVssEnumMgmtObject_FWD_DEFINED__
typedef interface IVssEnumMgmtObject IVssEnumMgmtObject;
#ifdef __cplusplus
interface IVssEnumMgmtObject;
#endif /* __cplusplus */
#endif
#ifndef __VssSnapshotMgmt_FWD_DEFINED__
#define __VssSnapshotMgmt_FWD_DEFINED__
#ifdef __cplusplus
typedef class VssSnapshotMgmt VssSnapshotMgmt;
#else
typedef struct VssSnapshotMgmt VssSnapshotMgmt;
#endif /* defined __cplusplus */
#endif /* defined __VssSnapshotMgmt_FWD_DEFINED__ */
/* Headers for imported files */
#include <oaidl.h>
#include <ocidl.h>
#include <vss.h>
#ifdef __cplusplus
extern "C" {
#endif
#include <winapifamily.h>
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef enum _VSS_MGMT_OBJECT_TYPE {
VSS_MGMT_OBJECT_UNKNOWN = 0,
VSS_MGMT_OBJECT_VOLUME = 1,
VSS_MGMT_OBJECT_DIFF_VOLUME = 2,
VSS_MGMT_OBJECT_DIFF_AREA = 3
} VSS_MGMT_OBJECT_TYPE;
typedef enum _VSS_MGMT_OBJECT_TYPE *PVSS_MGMT_OBJECT_TYPE;
#define VSS_ASSOC_NO_MAX_SPACE (-1)
#define VSS_ASSOC_REMOVE (0)
typedef struct _VSS_VOLUME_PROP {
VSS_PWSZ m_pwszVolumeName;
VSS_PWSZ m_pwszVolumeDisplayName;
} VSS_VOLUME_PROP;
typedef struct _VSS_VOLUME_PROP *PVSS_VOLUME_PROP;
typedef struct _VSS_DIFF_VOLUME_PROP {
VSS_PWSZ m_pwszVolumeName;
VSS_PWSZ m_pwszVolumeDisplayName;
LONGLONG m_llVolumeFreeSpace;
LONGLONG m_llVolumeTotalSpace;
} VSS_DIFF_VOLUME_PROP;
typedef struct _VSS_DIFF_VOLUME_PROP *PVSS_DIFF_VOLUME_PROP;
typedef struct _VSS_DIFF_AREA_PROP {
VSS_PWSZ m_pwszVolumeName;
VSS_PWSZ m_pwszDiffAreaVolumeName;
LONGLONG m_llMaximumDiffSpace;
LONGLONG m_llAllocatedDiffSpace;
LONGLONG m_llUsedDiffSpace;
} VSS_DIFF_AREA_PROP;
typedef struct _VSS_DIFF_AREA_PROP *PVSS_DIFF_AREA_PROP;
typedef union __WIDL_vsmgmt_generated_name_00000021 {
VSS_VOLUME_PROP Vol;
VSS_DIFF_VOLUME_PROP DiffVol;
VSS_DIFF_AREA_PROP DiffArea;
} VSS_MGMT_OBJECT_UNION;
typedef union __WIDL_vsmgmt_generated_name_00000021 *PVSS_MGMT_OBJECT_UNION;
typedef struct _VSS_MGMT_OBJECT_PROP {
VSS_MGMT_OBJECT_TYPE Type;
VSS_MGMT_OBJECT_UNION Obj;
} VSS_MGMT_OBJECT_PROP;
typedef struct _VSS_MGMT_OBJECT_PROP *PVSS_MGMT_OBJECT_PROP;
typedef enum _VSS_PROTECTION_LEVEL {
VSS_PROTECTION_LEVEL_ORIGINAL_VOLUME = 0,
VSS_PROTECTION_LEVEL_SNAPSHOT = 1
} VSS_PROTECTION_LEVEL;
typedef enum _VSS_PROTECTION_LEVEL *PVSS_PROTECTION_LEVEL;
typedef enum _VSS_PROTECTION_FAULT {
VSS_PROTECTION_FAULT_NONE = 0,
VSS_PROTECTION_FAULT_DIFF_AREA_MISSING = 1,
VSS_PROTECTION_FAULT_IO_FAILURE_DURING_ONLINE = 2,
VSS_PROTECTION_FAULT_META_DATA_CORRUPTION = 3,
VSS_PROTECTION_FAULT_MEMORY_ALLOCATION_FAILURE = 4,
VSS_PROTECTION_FAULT_MAPPED_MEMORY_FAILURE = 5,
VSS_PROTECTION_FAULT_COW_READ_FAILURE = 6,
VSS_PROTECTION_FAULT_COW_WRITE_FAILURE = 7,
VSS_PROTECTION_FAULT_DIFF_AREA_FULL = 8,
VSS_PROTECTION_FAULT_GROW_TOO_SLOW = 9,
VSS_PROTECTION_FAULT_GROW_FAILED = 10,
VSS_PROTECTION_FAULT_DESTROY_ALL_SNAPSHOTS = 11,
VSS_PROTECTION_FAULT_FILE_SYSTEM_FAILURE = 12,
VSS_PROTECTION_FAULT_IO_FAILURE = 13,
VSS_PROTECTION_FAULT_DIFF_AREA_REMOVED = 14,
VSS_PROTECTION_FAULT_EXTERNAL_WRITER_TO_DIFF_AREA = 15,
VSS_PROTECTION_FAULT_MOUNT_DURING_CLUSTER_OFFLINE = 16
} VSS_PROTECTION_FAULT;
typedef enum _VSS_PROTECTION_FAULT *PVSS_PROTECTION_FAULT;
typedef struct _VSS_VOLUME_PROTECTION_INFO {
VSS_PROTECTION_LEVEL m_protectionLevel;
WINBOOL m_volumeIsOfflineForProtection;
VSS_PROTECTION_FAULT m_protectionFault;
LONG m_failureStatus;
WINBOOL m_volumeHasUnusedDiffArea;
DWORD m_reserved;
} VSS_VOLUME_PROTECTION_INFO;
typedef struct _VSS_VOLUME_PROTECTION_INFO *PVSS_VOLUME_PROTECTION_INFO;
#ifndef __IVssSnapshotMgmt_FWD_DEFINED__
#define __IVssSnapshotMgmt_FWD_DEFINED__
typedef interface IVssSnapshotMgmt IVssSnapshotMgmt;
#ifdef __cplusplus
interface IVssSnapshotMgmt;
#endif /* __cplusplus */
#endif
#ifndef __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
#define __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__
typedef interface IVssDifferentialSoftwareSnapshotMgmt IVssDifferentialSoftwareSnapshotMgmt;
#ifdef __cplusplus
interface IVssDifferentialSoftwareSnapshotMgmt;
#endif /* __cplusplus */
#endif
#ifndef __IVssEnumMgmtObject_FWD_DEFINED__
#define __IVssEnumMgmtObject_FWD_DEFINED__
typedef interface IVssEnumMgmtObject IVssEnumMgmtObject;
#ifdef __cplusplus
interface IVssEnumMgmtObject;
#endif /* __cplusplus */
#endif
/*****************************************************************************
* IVssSnapshotMgmt interface
*/
#ifndef __IVssSnapshotMgmt_INTERFACE_DEFINED__
#define __IVssSnapshotMgmt_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVssSnapshotMgmt, 0xfa7df749, 0x66e7, 0x4986, 0xa2,0x7f, 0xe2,0xf0,0x4a,0xe5,0x37,0x72);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fa7df749-66e7-4986-a27f-e2f04ae53772")
IVssSnapshotMgmt : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetProviderMgmtInterface(
VSS_ID ProviderId,
REFIID InterfaceId,
IUnknown **ppItf) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryVolumesSupportedForSnapshots(
VSS_ID ProviderId,
LONG lContext,
IVssEnumMgmtObject **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE QuerySnapshotsByVolume(
VSS_PWSZ pwszVolumeName,
VSS_ID ProviderId,
IVssEnumObject **ppEnum) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVssSnapshotMgmt, 0xfa7df749, 0x66e7, 0x4986, 0xa2,0x7f, 0xe2,0xf0,0x4a,0xe5,0x37,0x72)
#endif
#else
typedef struct IVssSnapshotMgmtVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVssSnapshotMgmt *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVssSnapshotMgmt *This);
ULONG (STDMETHODCALLTYPE *Release)(
IVssSnapshotMgmt *This);
/*** IVssSnapshotMgmt methods ***/
HRESULT (STDMETHODCALLTYPE *GetProviderMgmtInterface)(
IVssSnapshotMgmt *This,
VSS_ID ProviderId,
REFIID InterfaceId,
IUnknown **ppItf);
HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForSnapshots)(
IVssSnapshotMgmt *This,
VSS_ID ProviderId,
LONG lContext,
IVssEnumMgmtObject **ppEnum);
HRESULT (STDMETHODCALLTYPE *QuerySnapshotsByVolume)(
IVssSnapshotMgmt *This,
VSS_PWSZ pwszVolumeName,
VSS_ID ProviderId,
IVssEnumObject **ppEnum);
END_INTERFACE
} IVssSnapshotMgmtVtbl;
interface IVssSnapshotMgmt {
CONST_VTBL IVssSnapshotMgmtVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IVssSnapshotMgmt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVssSnapshotMgmt_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVssSnapshotMgmt_Release(This) (This)->lpVtbl->Release(This)
/*** IVssSnapshotMgmt methods ***/
#define IVssSnapshotMgmt_GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf) (This)->lpVtbl->GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf)
#define IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum)
#define IVssSnapshotMgmt_QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum) (This)->lpVtbl->QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum)
#else
/*** IUnknown methods ***/
static inline HRESULT IVssSnapshotMgmt_QueryInterface(IVssSnapshotMgmt* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IVssSnapshotMgmt_AddRef(IVssSnapshotMgmt* This) {
return This->lpVtbl->AddRef(This);
}
static inline ULONG IVssSnapshotMgmt_Release(IVssSnapshotMgmt* This) {
return This->lpVtbl->Release(This);
}
/*** IVssSnapshotMgmt methods ***/
static inline HRESULT IVssSnapshotMgmt_GetProviderMgmtInterface(IVssSnapshotMgmt* This,VSS_ID ProviderId,REFIID InterfaceId,IUnknown **ppItf) {
return This->lpVtbl->GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf);
}
static inline HRESULT IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots(IVssSnapshotMgmt* This,VSS_ID ProviderId,LONG lContext,IVssEnumMgmtObject **ppEnum) {
return This->lpVtbl->QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum);
}
static inline HRESULT IVssSnapshotMgmt_QuerySnapshotsByVolume(IVssSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,IVssEnumObject **ppEnum) {
return This->lpVtbl->QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum);
}
#endif
#endif
#endif
#endif /* __IVssSnapshotMgmt_INTERFACE_DEFINED__ */
/*****************************************************************************
* IVssSnapshotMgmt2 interface
*/
#ifndef __IVssSnapshotMgmt2_INTERFACE_DEFINED__
#define __IVssSnapshotMgmt2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVssSnapshotMgmt2, 0x0f61ec39, 0xfe82, 0x45f2, 0xa3,0xf0, 0x76,0x8b,0x5d,0x42,0x71,0x02);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0f61ec39-fe82-45f2-a3f0-768b5d427102")
IVssSnapshotMgmt2 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetMinDiffAreaSize(
LONGLONG *pllMinDiffAreaSize) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVssSnapshotMgmt2, 0x0f61ec39, 0xfe82, 0x45f2, 0xa3,0xf0, 0x76,0x8b,0x5d,0x42,0x71,0x02)
#endif
#else
typedef struct IVssSnapshotMgmt2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVssSnapshotMgmt2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVssSnapshotMgmt2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IVssSnapshotMgmt2 *This);
/*** IVssSnapshotMgmt2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetMinDiffAreaSize)(
IVssSnapshotMgmt2 *This,
LONGLONG *pllMinDiffAreaSize);
END_INTERFACE
} IVssSnapshotMgmt2Vtbl;
interface IVssSnapshotMgmt2 {
CONST_VTBL IVssSnapshotMgmt2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IVssSnapshotMgmt2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVssSnapshotMgmt2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVssSnapshotMgmt2_Release(This) (This)->lpVtbl->Release(This)
/*** IVssSnapshotMgmt2 methods ***/
#define IVssSnapshotMgmt2_GetMinDiffAreaSize(This,pllMinDiffAreaSize) (This)->lpVtbl->GetMinDiffAreaSize(This,pllMinDiffAreaSize)
#else
/*** IUnknown methods ***/
static inline HRESULT IVssSnapshotMgmt2_QueryInterface(IVssSnapshotMgmt2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IVssSnapshotMgmt2_AddRef(IVssSnapshotMgmt2* This) {
return This->lpVtbl->AddRef(This);
}
static inline ULONG IVssSnapshotMgmt2_Release(IVssSnapshotMgmt2* This) {
return This->lpVtbl->Release(This);
}
/*** IVssSnapshotMgmt2 methods ***/
static inline HRESULT IVssSnapshotMgmt2_GetMinDiffAreaSize(IVssSnapshotMgmt2* This,LONGLONG *pllMinDiffAreaSize) {
return This->lpVtbl->GetMinDiffAreaSize(This,pllMinDiffAreaSize);
}
#endif
#endif
#endif
#endif /* __IVssSnapshotMgmt2_INTERFACE_DEFINED__ */
/*****************************************************************************
* IVssDifferentialSoftwareSnapshotMgmt interface
*/
#ifndef __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__
#define __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVssDifferentialSoftwareSnapshotMgmt, 0x214a0f28, 0xb737, 0x4026, 0xb8,0x47, 0x4f,0x9e,0x37,0xd7,0x95,0x29);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("214a0f28-b737-4026-b847-4f9e37d79529")
IVssDifferentialSoftwareSnapshotMgmt : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AddDiffArea(
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
LONGLONG llMaximumDiffSpace) = 0;
virtual HRESULT STDMETHODCALLTYPE ChangeDiffAreaMaximumSize(
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
LONGLONG llMaximumDiffSpace) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryVolumesSupportedForDiffAreas(
VSS_PWSZ pwszOriginalVolumeName,
IVssEnumMgmtObject **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasForVolume(
VSS_PWSZ pwszVolumeName,
IVssEnumMgmtObject **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasOnVolume(
VSS_PWSZ pwszVolumeName,
IVssEnumMgmtObject **ppEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasForSnapshot(
VSS_ID SnapshotId,
IVssEnumMgmtObject **ppEnum) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVssDifferentialSoftwareSnapshotMgmt, 0x214a0f28, 0xb737, 0x4026, 0xb8,0x47, 0x4f,0x9e,0x37,0xd7,0x95,0x29)
#endif
#else
typedef struct IVssDifferentialSoftwareSnapshotMgmtVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVssDifferentialSoftwareSnapshotMgmt *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVssDifferentialSoftwareSnapshotMgmt *This);
ULONG (STDMETHODCALLTYPE *Release)(
IVssDifferentialSoftwareSnapshotMgmt *This);
/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
HRESULT (STDMETHODCALLTYPE *AddDiffArea)(
IVssDifferentialSoftwareSnapshotMgmt *This,
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
LONGLONG llMaximumDiffSpace);
HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize)(
IVssDifferentialSoftwareSnapshotMgmt *This,
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
LONGLONG llMaximumDiffSpace);
HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForDiffAreas)(
IVssDifferentialSoftwareSnapshotMgmt *This,
VSS_PWSZ pwszOriginalVolumeName,
IVssEnumMgmtObject **ppEnum);
HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForVolume)(
IVssDifferentialSoftwareSnapshotMgmt *This,
VSS_PWSZ pwszVolumeName,
IVssEnumMgmtObject **ppEnum);
HRESULT (STDMETHODCALLTYPE *QueryDiffAreasOnVolume)(
IVssDifferentialSoftwareSnapshotMgmt *This,
VSS_PWSZ pwszVolumeName,
IVssEnumMgmtObject **ppEnum);
HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForSnapshot)(
IVssDifferentialSoftwareSnapshotMgmt *This,
VSS_ID SnapshotId,
IVssEnumMgmtObject **ppEnum);
END_INTERFACE
} IVssDifferentialSoftwareSnapshotMgmtVtbl;
interface IVssDifferentialSoftwareSnapshotMgmt {
CONST_VTBL IVssDifferentialSoftwareSnapshotMgmtVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IVssDifferentialSoftwareSnapshotMgmt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVssDifferentialSoftwareSnapshotMgmt_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVssDifferentialSoftwareSnapshotMgmt_Release(This) (This)->lpVtbl->Release(This)
/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
#define IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
#define IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
#define IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)
#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)
#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)
#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)
#else
/*** IUnknown methods ***/
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IVssDifferentialSoftwareSnapshotMgmt_AddRef(IVssDifferentialSoftwareSnapshotMgmt* This) {
return This->lpVtbl->AddRef(This);
}
static inline ULONG IVssDifferentialSoftwareSnapshotMgmt_Release(IVssDifferentialSoftwareSnapshotMgmt* This) {
return This->lpVtbl->Release(This);
}
/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) {
return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) {
return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum);
}
#endif
#endif
#endif
#endif /* __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__ */
/*****************************************************************************
* IVssDifferentialSoftwareSnapshotMgmt2 interface
*/
#ifndef __IVssDifferentialSoftwareSnapshotMgmt2_INTERFACE_DEFINED__
#define __IVssDifferentialSoftwareSnapshotMgmt2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVssDifferentialSoftwareSnapshotMgmt2, 0x949d7353, 0x675f, 0x4275, 0x89,0x69, 0xf0,0x44,0xc6,0x27,0x78,0x15);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("949d7353-675f-4275-8969-f044c6277815")
IVssDifferentialSoftwareSnapshotMgmt2 : public IVssDifferentialSoftwareSnapshotMgmt
{
virtual HRESULT STDMETHODCALLTYPE ChangeDiffAreaMaximumSizeEx(
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
LONGLONG llMaximumDiffSpace,
WINBOOL bVolatile) = 0;
virtual HRESULT STDMETHODCALLTYPE MigrateDiffAreas(
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
VSS_PWSZ pwszNewDiffAreaVolumeName) = 0;
virtual HRESULT STDMETHODCALLTYPE QueryMigrationStatus(
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
IVssAsync **ppAsync) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSnapshotPriority(
VSS_ID idSnapshot,
BYTE priority) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVssDifferentialSoftwareSnapshotMgmt2, 0x949d7353, 0x675f, 0x4275, 0x89,0x69, 0xf0,0x44,0xc6,0x27,0x78,0x15)
#endif
#else
typedef struct IVssDifferentialSoftwareSnapshotMgmt2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVssDifferentialSoftwareSnapshotMgmt2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVssDifferentialSoftwareSnapshotMgmt2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IVssDifferentialSoftwareSnapshotMgmt2 *This);
/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
HRESULT (STDMETHODCALLTYPE *AddDiffArea)(
IVssDifferentialSoftwareSnapshotMgmt2 *This,
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
LONGLONG llMaximumDiffSpace);
HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize)(
IVssDifferentialSoftwareSnapshotMgmt2 *This,
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
LONGLONG llMaximumDiffSpace);
HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForDiffAreas)(
IVssDifferentialSoftwareSnapshotMgmt2 *This,
VSS_PWSZ pwszOriginalVolumeName,
IVssEnumMgmtObject **ppEnum);
HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForVolume)(
IVssDifferentialSoftwareSnapshotMgmt2 *This,
VSS_PWSZ pwszVolumeName,
IVssEnumMgmtObject **ppEnum);
HRESULT (STDMETHODCALLTYPE *QueryDiffAreasOnVolume)(
IVssDifferentialSoftwareSnapshotMgmt2 *This,
VSS_PWSZ pwszVolumeName,
IVssEnumMgmtObject **ppEnum);
HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForSnapshot)(
IVssDifferentialSoftwareSnapshotMgmt2 *This,
VSS_ID SnapshotId,
IVssEnumMgmtObject **ppEnum);
/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSizeEx)(
IVssDifferentialSoftwareSnapshotMgmt2 *This,
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
LONGLONG llMaximumDiffSpace,
WINBOOL bVolatile);
HRESULT (STDMETHODCALLTYPE *MigrateDiffAreas)(
IVssDifferentialSoftwareSnapshotMgmt2 *This,
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
VSS_PWSZ pwszNewDiffAreaVolumeName);
HRESULT (STDMETHODCALLTYPE *QueryMigrationStatus)(
IVssDifferentialSoftwareSnapshotMgmt2 *This,
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
IVssAsync **ppAsync);
HRESULT (STDMETHODCALLTYPE *SetSnapshotPriority)(
IVssDifferentialSoftwareSnapshotMgmt2 *This,
VSS_ID idSnapshot,
BYTE priority);
END_INTERFACE
} IVssDifferentialSoftwareSnapshotMgmt2Vtbl;
interface IVssDifferentialSoftwareSnapshotMgmt2 {
CONST_VTBL IVssDifferentialSoftwareSnapshotMgmt2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IVssDifferentialSoftwareSnapshotMgmt2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVssDifferentialSoftwareSnapshotMgmt2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVssDifferentialSoftwareSnapshotMgmt2_Release(This) (This)->lpVtbl->Release(This)
/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
#define IVssDifferentialSoftwareSnapshotMgmt2_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
#define IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
#define IVssDifferentialSoftwareSnapshotMgmt2_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)
#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)
#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)
#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)
/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
#define IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) (This)->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile)
#define IVssDifferentialSoftwareSnapshotMgmt2_MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName) (This)->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName)
#define IVssDifferentialSoftwareSnapshotMgmt2_QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync) (This)->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync)
#define IVssDifferentialSoftwareSnapshotMgmt2_SetSnapshotPriority(This,idSnapshot,priority) (This)->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority)
#else
/*** IUnknown methods ***/
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IVssDifferentialSoftwareSnapshotMgmt2_AddRef(IVssDifferentialSoftwareSnapshotMgmt2* This) {
return This->lpVtbl->AddRef(This);
}
static inline ULONG IVssDifferentialSoftwareSnapshotMgmt2_Release(IVssDifferentialSoftwareSnapshotMgmt2* This) {
return This->lpVtbl->Release(This);
}
/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) {
return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) {
return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum);
}
/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSizeEx(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace,WINBOOL bVolatile) {
return This->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_MigrateDiffAreas(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,VSS_PWSZ pwszNewDiffAreaVolumeName) {
return This->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryMigrationStatus(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,IVssAsync **ppAsync) {
return This->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_SetSnapshotPriority(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_ID idSnapshot,BYTE priority) {
return This->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority);
}
#endif
#endif
#endif
#endif /* __IVssDifferentialSoftwareSnapshotMgmt2_INTERFACE_DEFINED__ */
/*****************************************************************************
* IVssDifferentialSoftwareSnapshotMgmt3 interface
*/
#ifndef __IVssDifferentialSoftwareSnapshotMgmt3_INTERFACE_DEFINED__
#define __IVssDifferentialSoftwareSnapshotMgmt3_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVssDifferentialSoftwareSnapshotMgmt3, 0x383f7e71, 0xa4c5, 0x401f, 0xb2,0x7f, 0xf8,0x26,0x28,0x9f,0x84,0x58);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("383f7e71-a4c5-401f-b27f-f826289f8458")
IVssDifferentialSoftwareSnapshotMgmt3 : public IVssDifferentialSoftwareSnapshotMgmt2
{
virtual HRESULT STDMETHODCALLTYPE SetVolumeProtectLevel(
VSS_PWSZ pwszVolumeName,
VSS_PROTECTION_LEVEL protectionLevel) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVolumeProtectLevel(
VSS_PWSZ pwszVolumeName,
VSS_VOLUME_PROTECTION_INFO *protectionLevel) = 0;
virtual HRESULT STDMETHODCALLTYPE ClearVolumeProtectFault(
VSS_PWSZ pwszVolumeName) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteUnusedDiffAreas(
VSS_PWSZ pwszDiffAreaVolumeName) = 0;
virtual HRESULT STDMETHODCALLTYPE QuerySnapshotDeltaBitmap(
VSS_ID idSnapshotOlder,
VSS_ID idSnapshotYounger,
ULONG *pcBlockSizePerBit,
ULONG *pcBitmapLength,
BYTE **ppbBitmap) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVssDifferentialSoftwareSnapshotMgmt3, 0x383f7e71, 0xa4c5, 0x401f, 0xb2,0x7f, 0xf8,0x26,0x28,0x9f,0x84,0x58)
#endif
#else
typedef struct IVssDifferentialSoftwareSnapshotMgmt3Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVssDifferentialSoftwareSnapshotMgmt3 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IVssDifferentialSoftwareSnapshotMgmt3 *This);
/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
HRESULT (STDMETHODCALLTYPE *AddDiffArea)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
LONGLONG llMaximumDiffSpace);
HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
LONGLONG llMaximumDiffSpace);
HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForDiffAreas)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_PWSZ pwszOriginalVolumeName,
IVssEnumMgmtObject **ppEnum);
HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForVolume)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_PWSZ pwszVolumeName,
IVssEnumMgmtObject **ppEnum);
HRESULT (STDMETHODCALLTYPE *QueryDiffAreasOnVolume)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_PWSZ pwszVolumeName,
IVssEnumMgmtObject **ppEnum);
HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForSnapshot)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_ID SnapshotId,
IVssEnumMgmtObject **ppEnum);
/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSizeEx)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
LONGLONG llMaximumDiffSpace,
WINBOOL bVolatile);
HRESULT (STDMETHODCALLTYPE *MigrateDiffAreas)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
VSS_PWSZ pwszNewDiffAreaVolumeName);
HRESULT (STDMETHODCALLTYPE *QueryMigrationStatus)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_PWSZ pwszVolumeName,
VSS_PWSZ pwszDiffAreaVolumeName,
IVssAsync **ppAsync);
HRESULT (STDMETHODCALLTYPE *SetSnapshotPriority)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_ID idSnapshot,
BYTE priority);
/*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/
HRESULT (STDMETHODCALLTYPE *SetVolumeProtectLevel)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_PWSZ pwszVolumeName,
VSS_PROTECTION_LEVEL protectionLevel);
HRESULT (STDMETHODCALLTYPE *GetVolumeProtectLevel)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_PWSZ pwszVolumeName,
VSS_VOLUME_PROTECTION_INFO *protectionLevel);
HRESULT (STDMETHODCALLTYPE *ClearVolumeProtectFault)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_PWSZ pwszVolumeName);
HRESULT (STDMETHODCALLTYPE *DeleteUnusedDiffAreas)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_PWSZ pwszDiffAreaVolumeName);
HRESULT (STDMETHODCALLTYPE *QuerySnapshotDeltaBitmap)(
IVssDifferentialSoftwareSnapshotMgmt3 *This,
VSS_ID idSnapshotOlder,
VSS_ID idSnapshotYounger,
ULONG *pcBlockSizePerBit,
ULONG *pcBitmapLength,
BYTE **ppbBitmap);
END_INTERFACE
} IVssDifferentialSoftwareSnapshotMgmt3Vtbl;
interface IVssDifferentialSoftwareSnapshotMgmt3 {
CONST_VTBL IVssDifferentialSoftwareSnapshotMgmt3Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IVssDifferentialSoftwareSnapshotMgmt3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVssDifferentialSoftwareSnapshotMgmt3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVssDifferentialSoftwareSnapshotMgmt3_Release(This) (This)->lpVtbl->Release(This)
/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
#define IVssDifferentialSoftwareSnapshotMgmt3_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
#define IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace)
#define IVssDifferentialSoftwareSnapshotMgmt3_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum)
#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum)
#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum)
#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum)
/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
#define IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) (This)->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile)
#define IVssDifferentialSoftwareSnapshotMgmt3_MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName) (This)->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName)
#define IVssDifferentialSoftwareSnapshotMgmt3_QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync) (This)->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync)
#define IVssDifferentialSoftwareSnapshotMgmt3_SetSnapshotPriority(This,idSnapshot,priority) (This)->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority)
/*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/
#define IVssDifferentialSoftwareSnapshotMgmt3_SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) (This)->lpVtbl->SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel)
#define IVssDifferentialSoftwareSnapshotMgmt3_GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) (This)->lpVtbl->GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel)
#define IVssDifferentialSoftwareSnapshotMgmt3_ClearVolumeProtectFault(This,pwszVolumeName) (This)->lpVtbl->ClearVolumeProtectFault(This,pwszVolumeName)
#define IVssDifferentialSoftwareSnapshotMgmt3_DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName) (This)->lpVtbl->DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName)
#define IVssDifferentialSoftwareSnapshotMgmt3_QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap) (This)->lpVtbl->QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap)
#else
/*** IUnknown methods ***/
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt3* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IVssDifferentialSoftwareSnapshotMgmt3_AddRef(IVssDifferentialSoftwareSnapshotMgmt3* This) {
return This->lpVtbl->AddRef(This);
}
static inline ULONG IVssDifferentialSoftwareSnapshotMgmt3_Release(IVssDifferentialSoftwareSnapshotMgmt3* This) {
return This->lpVtbl->Release(This);
}
/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) {
return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) {
return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) {
return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) {
return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum);
}
/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSizeEx(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace,WINBOOL bVolatile) {
return This->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_MigrateDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,VSS_PWSZ pwszNewDiffAreaVolumeName) {
return This->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryMigrationStatus(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,IVssAsync **ppAsync) {
return This->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_SetSnapshotPriority(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID idSnapshot,BYTE priority) {
return This->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority);
}
/*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_SetVolumeProtectLevel(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PROTECTION_LEVEL protectionLevel) {
return This->lpVtbl->SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_GetVolumeProtectLevel(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_VOLUME_PROTECTION_INFO *protectionLevel) {
return This->lpVtbl->GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ClearVolumeProtectFault(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName) {
return This->lpVtbl->ClearVolumeProtectFault(This,pwszVolumeName);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_DeleteUnusedDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszDiffAreaVolumeName) {
return This->lpVtbl->DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName);
}
static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QuerySnapshotDeltaBitmap(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID idSnapshotOlder,VSS_ID idSnapshotYounger,ULONG *pcBlockSizePerBit,ULONG *pcBitmapLength,BYTE **ppbBitmap) {
return This->lpVtbl->QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap);
}
#endif
#endif
#endif
#endif /* __IVssDifferentialSoftwareSnapshotMgmt3_INTERFACE_DEFINED__ */
/*****************************************************************************
* IVssEnumMgmtObject interface
*/
#ifndef __IVssEnumMgmtObject_INTERFACE_DEFINED__
#define __IVssEnumMgmtObject_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVssEnumMgmtObject, 0x01954e6b, 0x9254, 0x4e6e, 0x80,0x8c, 0xc9,0xe0,0x5d,0x00,0x76,0x96);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("01954e6b-9254-4e6e-808c-c9e05d007696")
IVssEnumMgmtObject : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Next(
ULONG celt,
VSS_MGMT_OBJECT_PROP *rgelt,
ULONG *pceltFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip(
ULONG celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
IVssEnumMgmtObject **ppenum) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IVssEnumMgmtObject, 0x01954e6b, 0x9254, 0x4e6e, 0x80,0x8c, 0xc9,0xe0,0x5d,0x00,0x76,0x96)
#endif
#else
typedef struct IVssEnumMgmtObjectVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVssEnumMgmtObject *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVssEnumMgmtObject *This);
ULONG (STDMETHODCALLTYPE *Release)(
IVssEnumMgmtObject *This);
/*** IVssEnumMgmtObject methods ***/
HRESULT (STDMETHODCALLTYPE *Next)(
IVssEnumMgmtObject *This,
ULONG celt,
VSS_MGMT_OBJECT_PROP *rgelt,
ULONG *pceltFetched);
HRESULT (STDMETHODCALLTYPE *Skip)(
IVssEnumMgmtObject *This,
ULONG celt);
HRESULT (STDMETHODCALLTYPE *Reset)(
IVssEnumMgmtObject *This);
HRESULT (STDMETHODCALLTYPE *Clone)(
IVssEnumMgmtObject *This,
IVssEnumMgmtObject **ppenum);
END_INTERFACE
} IVssEnumMgmtObjectVtbl;
interface IVssEnumMgmtObject {
CONST_VTBL IVssEnumMgmtObjectVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IVssEnumMgmtObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVssEnumMgmtObject_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVssEnumMgmtObject_Release(This) (This)->lpVtbl->Release(This)
/*** IVssEnumMgmtObject methods ***/
#define IVssEnumMgmtObject_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
#define IVssEnumMgmtObject_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
#define IVssEnumMgmtObject_Reset(This) (This)->lpVtbl->Reset(This)
#define IVssEnumMgmtObject_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
#else
/*** IUnknown methods ***/
static inline HRESULT IVssEnumMgmtObject_QueryInterface(IVssEnumMgmtObject* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static inline ULONG IVssEnumMgmtObject_AddRef(IVssEnumMgmtObject* This) {
return This->lpVtbl->AddRef(This);
}
static inline ULONG IVssEnumMgmtObject_Release(IVssEnumMgmtObject* This) {
return This->lpVtbl->Release(This);
}
/*** IVssEnumMgmtObject methods ***/
static inline HRESULT IVssEnumMgmtObject_Next(IVssEnumMgmtObject* This,ULONG celt,VSS_MGMT_OBJECT_PROP *rgelt,ULONG *pceltFetched) {
return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
}
static inline HRESULT IVssEnumMgmtObject_Skip(IVssEnumMgmtObject* This,ULONG celt) {
return This->lpVtbl->Skip(This,celt);
}
static inline HRESULT IVssEnumMgmtObject_Reset(IVssEnumMgmtObject* This) {
return This->lpVtbl->Reset(This);
}
static inline HRESULT IVssEnumMgmtObject_Clone(IVssEnumMgmtObject* This,IVssEnumMgmtObject **ppenum) {
return This->lpVtbl->Clone(This,ppenum);
}
#endif
#endif
#endif
#endif /* __IVssEnumMgmtObject_INTERFACE_DEFINED__ */
#ifndef __VSMGMT_LIBRARY_DEFINED__
#define __VSMGMT_LIBRARY_DEFINED__
DEFINE_GUID(LIBID_VSMGMT, 0x84015c41, 0x291d, 0x49e6, 0xbf,0x7f, 0xdd,0x40,0xae,0x93,0x63,0x2b);
/*****************************************************************************
* VssSnapshotMgmt coclass
*/
DEFINE_GUID(CLSID_VssSnapshotMgmt, 0x0b5a2c52, 0x3eb9, 0x470a, 0x96,0xe2, 0x6c,0x6d,0x45,0x70,0xe4,0x0f);
#ifdef __cplusplus
class DECLSPEC_UUID("0b5a2c52-3eb9-470a-96e2-6c6d4570e40f") VssSnapshotMgmt;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(VssSnapshotMgmt, 0x0b5a2c52, 0x3eb9, 0x470a, 0x96,0xe2, 0x6c,0x6d,0x45,0x70,0xe4,0x0f)
#endif
#endif
#endif /* __VSMGMT_LIBRARY_DEFINED__ */
#endif /* WINAPI_PARTITION_DESKTOP */
/* Begin additional prototypes for all interfaces */
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __vsmgmt_h__ */