/*** Autogenerated by WIDL 7.7 from include/vsmgmt.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include #include #endif #ifndef COM_NO_WINDOWS_H #include #include #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 #include #include #ifdef __cplusplus extern "C" { #endif #include #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 FORCEINLINE HRESULT IVssSnapshotMgmt_QueryInterface(IVssSnapshotMgmt* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IVssSnapshotMgmt_AddRef(IVssSnapshotMgmt* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IVssSnapshotMgmt_Release(IVssSnapshotMgmt* This) { return This->lpVtbl->Release(This); } /*** IVssSnapshotMgmt methods ***/ static FORCEINLINE HRESULT IVssSnapshotMgmt_GetProviderMgmtInterface(IVssSnapshotMgmt* This,VSS_ID ProviderId,REFIID InterfaceId,IUnknown **ppItf) { return This->lpVtbl->GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf); } static FORCEINLINE HRESULT IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots(IVssSnapshotMgmt* This,VSS_ID ProviderId,LONG lContext,IVssEnumMgmtObject **ppEnum) { return This->lpVtbl->QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum); } static FORCEINLINE 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 FORCEINLINE HRESULT IVssSnapshotMgmt2_QueryInterface(IVssSnapshotMgmt2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IVssSnapshotMgmt2_AddRef(IVssSnapshotMgmt2* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IVssSnapshotMgmt2_Release(IVssSnapshotMgmt2* This) { return This->lpVtbl->Release(This); } /*** IVssSnapshotMgmt2 methods ***/ static FORCEINLINE 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 FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt_AddRef(IVssDifferentialSoftwareSnapshotMgmt* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt_Release(IVssDifferentialSoftwareSnapshotMgmt* This) { return This->lpVtbl->Release(This); } /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/ static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) { return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) { return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) { return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) { return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) { return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum); } static FORCEINLINE 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 FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt2* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt2_AddRef(IVssDifferentialSoftwareSnapshotMgmt2* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt2_Release(IVssDifferentialSoftwareSnapshotMgmt2* This) { return This->lpVtbl->Release(This); } /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/ static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) { return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) { return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) { return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) { return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) { return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) { return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum); } /*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/ static FORCEINLINE 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 FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_MigrateDiffAreas(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,VSS_PWSZ pwszNewDiffAreaVolumeName) { return This->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryMigrationStatus(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,IVssAsync **ppAsync) { return This->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync); } static FORCEINLINE 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 FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt3* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt3_AddRef(IVssDifferentialSoftwareSnapshotMgmt3* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IVssDifferentialSoftwareSnapshotMgmt3_Release(IVssDifferentialSoftwareSnapshotMgmt3* This) { return This->lpVtbl->Release(This); } /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/ static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) { return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) { return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) { return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) { return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) { return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) { return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum); } /*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/ static FORCEINLINE 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 FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_MigrateDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,VSS_PWSZ pwszNewDiffAreaVolumeName) { return This->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryMigrationStatus(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,IVssAsync **ppAsync) { return This->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_SetSnapshotPriority(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID idSnapshot,BYTE priority) { return This->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority); } /*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/ static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_SetVolumeProtectLevel(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PROTECTION_LEVEL protectionLevel) { return This->lpVtbl->SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_GetVolumeProtectLevel(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_VOLUME_PROTECTION_INFO *protectionLevel) { return This->lpVtbl->GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ClearVolumeProtectFault(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName) { return This->lpVtbl->ClearVolumeProtectFault(This,pwszVolumeName); } static FORCEINLINE HRESULT IVssDifferentialSoftwareSnapshotMgmt3_DeleteUnusedDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszDiffAreaVolumeName) { return This->lpVtbl->DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName); } static FORCEINLINE 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 FORCEINLINE HRESULT IVssEnumMgmtObject_QueryInterface(IVssEnumMgmtObject* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static FORCEINLINE ULONG IVssEnumMgmtObject_AddRef(IVssEnumMgmtObject* This) { return This->lpVtbl->AddRef(This); } static FORCEINLINE ULONG IVssEnumMgmtObject_Release(IVssEnumMgmtObject* This) { return This->lpVtbl->Release(This); } /*** IVssEnumMgmtObject methods ***/ static FORCEINLINE HRESULT IVssEnumMgmtObject_Next(IVssEnumMgmtObject* This,ULONG celt,VSS_MGMT_OBJECT_PROP *rgelt,ULONG *pceltFetched) { return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); } static FORCEINLINE HRESULT IVssEnumMgmtObject_Skip(IVssEnumMgmtObject* This,ULONG celt) { return This->lpVtbl->Skip(This,celt); } static FORCEINLINE HRESULT IVssEnumMgmtObject_Reset(IVssEnumMgmtObject* This) { return This->lpVtbl->Reset(This); } static FORCEINLINE 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__ */