mirror of
https://git.code.sf.net/p/mingw-w64/mingw-w64
synced 2024-11-23 09:54:39 +08:00
dc8fadfa25
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
1108 lines
49 KiB
C
1108 lines
49 KiB
C
/*** Autogenerated by WIDL 9.20 from include/vsprov.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 __vsprov_h__
|
|
#define __vsprov_h__
|
|
|
|
/* Forward declarations */
|
|
|
|
#ifndef __IVssSoftwareSnapshotProvider_FWD_DEFINED__
|
|
#define __IVssSoftwareSnapshotProvider_FWD_DEFINED__
|
|
typedef interface IVssSoftwareSnapshotProvider IVssSoftwareSnapshotProvider;
|
|
#ifdef __cplusplus
|
|
interface IVssSoftwareSnapshotProvider;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IVssProviderCreateSnapshotSet_FWD_DEFINED__
|
|
#define __IVssProviderCreateSnapshotSet_FWD_DEFINED__
|
|
typedef interface IVssProviderCreateSnapshotSet IVssProviderCreateSnapshotSet;
|
|
#ifdef __cplusplus
|
|
interface IVssProviderCreateSnapshotSet;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IVssProviderNotifications_FWD_DEFINED__
|
|
#define __IVssProviderNotifications_FWD_DEFINED__
|
|
typedef interface IVssProviderNotifications IVssProviderNotifications;
|
|
#ifdef __cplusplus
|
|
interface IVssProviderNotifications;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IVssHardwareSnapshotProvider_FWD_DEFINED__
|
|
#define __IVssHardwareSnapshotProvider_FWD_DEFINED__
|
|
typedef interface IVssHardwareSnapshotProvider IVssHardwareSnapshotProvider;
|
|
#ifdef __cplusplus
|
|
interface IVssHardwareSnapshotProvider;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IVssHardwareSnapshotProviderEx_FWD_DEFINED__
|
|
#define __IVssHardwareSnapshotProviderEx_FWD_DEFINED__
|
|
typedef interface IVssHardwareSnapshotProviderEx IVssHardwareSnapshotProviderEx;
|
|
#ifdef __cplusplus
|
|
interface IVssHardwareSnapshotProviderEx;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IVssFileShareSnapshotProvider_FWD_DEFINED__
|
|
#define __IVssFileShareSnapshotProvider_FWD_DEFINED__
|
|
typedef interface IVssFileShareSnapshotProvider IVssFileShareSnapshotProvider;
|
|
#ifdef __cplusplus
|
|
interface IVssFileShareSnapshotProvider;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
/* Headers for imported files */
|
|
|
|
#include <oaidl.h>
|
|
#include <ocidl.h>
|
|
#include <vss.h>
|
|
#include <vdslun.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <winapifamily.h>
|
|
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
|
|
#ifndef __IVssSnapshotProvider_FWD_DEFINED__
|
|
#define __IVssSnapshotProvider_FWD_DEFINED__
|
|
typedef interface IVssSnapshotProvider IVssSnapshotProvider;
|
|
#ifdef __cplusplus
|
|
interface IVssSnapshotProvider;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IVssProviderNotifications_FWD_DEFINED__
|
|
#define __IVssProviderNotifications_FWD_DEFINED__
|
|
typedef interface IVssProviderNotifications IVssProviderNotifications;
|
|
#ifdef __cplusplus
|
|
interface IVssProviderNotifications;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
typedef VSS_PWSZ *PVSS_PWSZ;
|
|
/*****************************************************************************
|
|
* IVssSoftwareSnapshotProvider interface
|
|
*/
|
|
#ifndef __IVssSoftwareSnapshotProvider_INTERFACE_DEFINED__
|
|
#define __IVssSoftwareSnapshotProvider_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IVssSoftwareSnapshotProvider, 0x609e123e, 0x2c5a, 0x44d3, 0x8f,0x01, 0x0b,0x1d,0x9a,0x47,0xd1,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("609e123e-2c5a-44d3-8f01-0b1d9a47d1ff")
|
|
IVssSoftwareSnapshotProvider : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE SetContext(
|
|
LONG lContext) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSnapshotProperties(
|
|
VSS_ID SnapshotId,
|
|
VSS_SNAPSHOT_PROP *pProp) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Query(
|
|
VSS_ID QueriedObjectId,
|
|
VSS_OBJECT_TYPE eQueriedObjectType,
|
|
VSS_OBJECT_TYPE eReturnedObjectsType,
|
|
IVssEnumObject **ppEnum) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DeleteSnapshots(
|
|
VSS_ID SourceObjectId,
|
|
VSS_OBJECT_TYPE eSourceObjectType,
|
|
WINBOOL bForceDelete,
|
|
LONG *plDeletedSnapshots,
|
|
VSS_ID *pNondeletedSnapshotID) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE BeginPrepareSnapshot(
|
|
VSS_ID SnapshotSetId,
|
|
VSS_ID SnapshotId,
|
|
VSS_PWSZ pwszVolumeName,
|
|
LONG lNewContext) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE IsVolumeSupported(
|
|
VSS_PWSZ pwszVolumeName,
|
|
WINBOOL *pbSupportedByThisProvider) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE IsVolumeSnapshotted(
|
|
VSS_PWSZ pwszVolumeName,
|
|
WINBOOL *pbSnapshotsPresent,
|
|
LONG *plSnapshotCompatibility) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetSnapshotProperty(
|
|
VSS_ID SnapshotId,
|
|
VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,
|
|
VARIANT vProperty) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE RevertToSnapshot(
|
|
VSS_ID SnapshotId) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE QueryRevertStatus(
|
|
VSS_PWSZ pwszVolume,
|
|
IVssAsync **ppAsync) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IVssSoftwareSnapshotProvider, 0x609e123e, 0x2c5a, 0x44d3, 0x8f,0x01, 0x0b,0x1d,0x9a,0x47,0xd1,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IVssSoftwareSnapshotProviderVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IVssSoftwareSnapshotProvider *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IVssSoftwareSnapshotProvider *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IVssSoftwareSnapshotProvider *This);
|
|
|
|
/*** IVssSoftwareSnapshotProvider methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetContext)(
|
|
IVssSoftwareSnapshotProvider *This,
|
|
LONG lContext);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)(
|
|
IVssSoftwareSnapshotProvider *This,
|
|
VSS_ID SnapshotId,
|
|
VSS_SNAPSHOT_PROP *pProp);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Query)(
|
|
IVssSoftwareSnapshotProvider *This,
|
|
VSS_ID QueriedObjectId,
|
|
VSS_OBJECT_TYPE eQueriedObjectType,
|
|
VSS_OBJECT_TYPE eReturnedObjectsType,
|
|
IVssEnumObject **ppEnum);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)(
|
|
IVssSoftwareSnapshotProvider *This,
|
|
VSS_ID SourceObjectId,
|
|
VSS_OBJECT_TYPE eSourceObjectType,
|
|
WINBOOL bForceDelete,
|
|
LONG *plDeletedSnapshots,
|
|
VSS_ID *pNondeletedSnapshotID);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *BeginPrepareSnapshot)(
|
|
IVssSoftwareSnapshotProvider *This,
|
|
VSS_ID SnapshotSetId,
|
|
VSS_ID SnapshotId,
|
|
VSS_PWSZ pwszVolumeName,
|
|
LONG lNewContext);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)(
|
|
IVssSoftwareSnapshotProvider *This,
|
|
VSS_PWSZ pwszVolumeName,
|
|
WINBOOL *pbSupportedByThisProvider);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsVolumeSnapshotted)(
|
|
IVssSoftwareSnapshotProvider *This,
|
|
VSS_PWSZ pwszVolumeName,
|
|
WINBOOL *pbSnapshotsPresent,
|
|
LONG *plSnapshotCompatibility);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetSnapshotProperty)(
|
|
IVssSoftwareSnapshotProvider *This,
|
|
VSS_ID SnapshotId,
|
|
VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,
|
|
VARIANT vProperty);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)(
|
|
IVssSoftwareSnapshotProvider *This,
|
|
VSS_ID SnapshotId);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)(
|
|
IVssSoftwareSnapshotProvider *This,
|
|
VSS_PWSZ pwszVolume,
|
|
IVssAsync **ppAsync);
|
|
|
|
END_INTERFACE
|
|
} IVssSoftwareSnapshotProviderVtbl;
|
|
|
|
interface IVssSoftwareSnapshotProvider {
|
|
CONST_VTBL IVssSoftwareSnapshotProviderVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IVssSoftwareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IVssSoftwareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IVssSoftwareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IVssSoftwareSnapshotProvider methods ***/
|
|
#define IVssSoftwareSnapshotProvider_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
|
|
#define IVssSoftwareSnapshotProvider_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
|
|
#define IVssSoftwareSnapshotProvider_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
|
|
#define IVssSoftwareSnapshotProvider_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
|
|
#define IVssSoftwareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext)
|
|
#define IVssSoftwareSnapshotProvider_IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider)
|
|
#define IVssSoftwareSnapshotProvider_IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility) (This)->lpVtbl->IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility)
|
|
#define IVssSoftwareSnapshotProvider_SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty) (This)->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty)
|
|
#define IVssSoftwareSnapshotProvider_RevertToSnapshot(This,SnapshotId) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId)
|
|
#define IVssSoftwareSnapshotProvider_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IVssSoftwareSnapshotProvider_QueryInterface(IVssSoftwareSnapshotProvider* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static inline ULONG IVssSoftwareSnapshotProvider_AddRef(IVssSoftwareSnapshotProvider* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IVssSoftwareSnapshotProvider_Release(IVssSoftwareSnapshotProvider* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IVssSoftwareSnapshotProvider methods ***/
|
|
static inline HRESULT IVssSoftwareSnapshotProvider_SetContext(IVssSoftwareSnapshotProvider* This,LONG lContext) {
|
|
return This->lpVtbl->SetContext(This,lContext);
|
|
}
|
|
static inline HRESULT IVssSoftwareSnapshotProvider_GetSnapshotProperties(IVssSoftwareSnapshotProvider* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) {
|
|
return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp);
|
|
}
|
|
static inline HRESULT IVssSoftwareSnapshotProvider_Query(IVssSoftwareSnapshotProvider* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) {
|
|
return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum);
|
|
}
|
|
static inline HRESULT IVssSoftwareSnapshotProvider_DeleteSnapshots(IVssSoftwareSnapshotProvider* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) {
|
|
return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID);
|
|
}
|
|
static inline HRESULT IVssSoftwareSnapshotProvider_BeginPrepareSnapshot(IVssSoftwareSnapshotProvider* This,VSS_ID SnapshotSetId,VSS_ID SnapshotId,VSS_PWSZ pwszVolumeName,LONG lNewContext) {
|
|
return This->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext);
|
|
}
|
|
static inline HRESULT IVssSoftwareSnapshotProvider_IsVolumeSupported(IVssSoftwareSnapshotProvider* This,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) {
|
|
return This->lpVtbl->IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider);
|
|
}
|
|
static inline HRESULT IVssSoftwareSnapshotProvider_IsVolumeSnapshotted(IVssSoftwareSnapshotProvider* This,VSS_PWSZ pwszVolumeName,WINBOOL *pbSnapshotsPresent,LONG *plSnapshotCompatibility) {
|
|
return This->lpVtbl->IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility);
|
|
}
|
|
static inline HRESULT IVssSoftwareSnapshotProvider_SetSnapshotProperty(IVssSoftwareSnapshotProvider* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,VARIANT vProperty) {
|
|
return This->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty);
|
|
}
|
|
static inline HRESULT IVssSoftwareSnapshotProvider_RevertToSnapshot(IVssSoftwareSnapshotProvider* This,VSS_ID SnapshotId) {
|
|
return This->lpVtbl->RevertToSnapshot(This,SnapshotId);
|
|
}
|
|
static inline HRESULT IVssSoftwareSnapshotProvider_QueryRevertStatus(IVssSoftwareSnapshotProvider* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) {
|
|
return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IVssSoftwareSnapshotProvider_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IVssProviderCreateSnapshotSet interface
|
|
*/
|
|
#ifndef __IVssProviderCreateSnapshotSet_INTERFACE_DEFINED__
|
|
#define __IVssProviderCreateSnapshotSet_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IVssProviderCreateSnapshotSet, 0x5f894e5b, 0x1e39, 0x4778, 0x8e,0x23, 0x9a,0xba,0xd9,0xf0,0xe0,0x8c);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("5f894e5b-1e39-4778-8e23-9abad9f0e08c")
|
|
IVssProviderCreateSnapshotSet : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE EndPrepareSnapshots(
|
|
VSS_ID SnapshotSetId) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE PreCommitSnapshots(
|
|
VSS_ID SnapshotSetId) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CommitSnapshots(
|
|
VSS_ID SnapshotSetId) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE PostCommitSnapshots(
|
|
VSS_ID SnapshotSetId,
|
|
LONG lSnapshotsCount) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE PreFinalCommitSnapshots(
|
|
VSS_ID SnapshotSetId) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE PostFinalCommitSnapshots(
|
|
VSS_ID SnapshotSetId) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AbortSnapshots(
|
|
VSS_ID SnapshotSetId) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IVssProviderCreateSnapshotSet, 0x5f894e5b, 0x1e39, 0x4778, 0x8e,0x23, 0x9a,0xba,0xd9,0xf0,0xe0,0x8c)
|
|
#endif
|
|
#else
|
|
typedef struct IVssProviderCreateSnapshotSetVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IVssProviderCreateSnapshotSet *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IVssProviderCreateSnapshotSet *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IVssProviderCreateSnapshotSet *This);
|
|
|
|
/*** IVssProviderCreateSnapshotSet methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *EndPrepareSnapshots)(
|
|
IVssProviderCreateSnapshotSet *This,
|
|
VSS_ID SnapshotSetId);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *PreCommitSnapshots)(
|
|
IVssProviderCreateSnapshotSet *This,
|
|
VSS_ID SnapshotSetId);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CommitSnapshots)(
|
|
IVssProviderCreateSnapshotSet *This,
|
|
VSS_ID SnapshotSetId);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *PostCommitSnapshots)(
|
|
IVssProviderCreateSnapshotSet *This,
|
|
VSS_ID SnapshotSetId,
|
|
LONG lSnapshotsCount);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *PreFinalCommitSnapshots)(
|
|
IVssProviderCreateSnapshotSet *This,
|
|
VSS_ID SnapshotSetId);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *PostFinalCommitSnapshots)(
|
|
IVssProviderCreateSnapshotSet *This,
|
|
VSS_ID SnapshotSetId);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AbortSnapshots)(
|
|
IVssProviderCreateSnapshotSet *This,
|
|
VSS_ID SnapshotSetId);
|
|
|
|
END_INTERFACE
|
|
} IVssProviderCreateSnapshotSetVtbl;
|
|
|
|
interface IVssProviderCreateSnapshotSet {
|
|
CONST_VTBL IVssProviderCreateSnapshotSetVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IVssProviderCreateSnapshotSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IVssProviderCreateSnapshotSet_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IVssProviderCreateSnapshotSet_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IVssProviderCreateSnapshotSet methods ***/
|
|
#define IVssProviderCreateSnapshotSet_EndPrepareSnapshots(This,SnapshotSetId) (This)->lpVtbl->EndPrepareSnapshots(This,SnapshotSetId)
|
|
#define IVssProviderCreateSnapshotSet_PreCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PreCommitSnapshots(This,SnapshotSetId)
|
|
#define IVssProviderCreateSnapshotSet_CommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->CommitSnapshots(This,SnapshotSetId)
|
|
#define IVssProviderCreateSnapshotSet_PostCommitSnapshots(This,SnapshotSetId,lSnapshotsCount) (This)->lpVtbl->PostCommitSnapshots(This,SnapshotSetId,lSnapshotsCount)
|
|
#define IVssProviderCreateSnapshotSet_PreFinalCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PreFinalCommitSnapshots(This,SnapshotSetId)
|
|
#define IVssProviderCreateSnapshotSet_PostFinalCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PostFinalCommitSnapshots(This,SnapshotSetId)
|
|
#define IVssProviderCreateSnapshotSet_AbortSnapshots(This,SnapshotSetId) (This)->lpVtbl->AbortSnapshots(This,SnapshotSetId)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IVssProviderCreateSnapshotSet_QueryInterface(IVssProviderCreateSnapshotSet* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static inline ULONG IVssProviderCreateSnapshotSet_AddRef(IVssProviderCreateSnapshotSet* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IVssProviderCreateSnapshotSet_Release(IVssProviderCreateSnapshotSet* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IVssProviderCreateSnapshotSet methods ***/
|
|
static inline HRESULT IVssProviderCreateSnapshotSet_EndPrepareSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) {
|
|
return This->lpVtbl->EndPrepareSnapshots(This,SnapshotSetId);
|
|
}
|
|
static inline HRESULT IVssProviderCreateSnapshotSet_PreCommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) {
|
|
return This->lpVtbl->PreCommitSnapshots(This,SnapshotSetId);
|
|
}
|
|
static inline HRESULT IVssProviderCreateSnapshotSet_CommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) {
|
|
return This->lpVtbl->CommitSnapshots(This,SnapshotSetId);
|
|
}
|
|
static inline HRESULT IVssProviderCreateSnapshotSet_PostCommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId,LONG lSnapshotsCount) {
|
|
return This->lpVtbl->PostCommitSnapshots(This,SnapshotSetId,lSnapshotsCount);
|
|
}
|
|
static inline HRESULT IVssProviderCreateSnapshotSet_PreFinalCommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) {
|
|
return This->lpVtbl->PreFinalCommitSnapshots(This,SnapshotSetId);
|
|
}
|
|
static inline HRESULT IVssProviderCreateSnapshotSet_PostFinalCommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) {
|
|
return This->lpVtbl->PostFinalCommitSnapshots(This,SnapshotSetId);
|
|
}
|
|
static inline HRESULT IVssProviderCreateSnapshotSet_AbortSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) {
|
|
return This->lpVtbl->AbortSnapshots(This,SnapshotSetId);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IVssProviderCreateSnapshotSet_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IVssProviderNotifications interface
|
|
*/
|
|
#ifndef __IVssProviderNotifications_INTERFACE_DEFINED__
|
|
#define __IVssProviderNotifications_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IVssProviderNotifications, 0xe561901f, 0x03a5, 0x4afe, 0x86,0xd0, 0x72,0xba,0xee,0xce,0x70,0x04);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("e561901f-03a5-4afe-86d0-72baeece7004")
|
|
IVssProviderNotifications : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE OnLoad(
|
|
IUnknown *pCallback) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE OnUnload(
|
|
WINBOOL bForceUnload) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IVssProviderNotifications, 0xe561901f, 0x03a5, 0x4afe, 0x86,0xd0, 0x72,0xba,0xee,0xce,0x70,0x04)
|
|
#endif
|
|
#else
|
|
typedef struct IVssProviderNotificationsVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IVssProviderNotifications *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IVssProviderNotifications *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IVssProviderNotifications *This);
|
|
|
|
/*** IVssProviderNotifications methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *OnLoad)(
|
|
IVssProviderNotifications *This,
|
|
IUnknown *pCallback);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OnUnload)(
|
|
IVssProviderNotifications *This,
|
|
WINBOOL bForceUnload);
|
|
|
|
END_INTERFACE
|
|
} IVssProviderNotificationsVtbl;
|
|
|
|
interface IVssProviderNotifications {
|
|
CONST_VTBL IVssProviderNotificationsVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IVssProviderNotifications_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IVssProviderNotifications_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IVssProviderNotifications_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IVssProviderNotifications methods ***/
|
|
#define IVssProviderNotifications_OnLoad(This,pCallback) (This)->lpVtbl->OnLoad(This,pCallback)
|
|
#define IVssProviderNotifications_OnUnload(This,bForceUnload) (This)->lpVtbl->OnUnload(This,bForceUnload)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IVssProviderNotifications_QueryInterface(IVssProviderNotifications* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static inline ULONG IVssProviderNotifications_AddRef(IVssProviderNotifications* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IVssProviderNotifications_Release(IVssProviderNotifications* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IVssProviderNotifications methods ***/
|
|
static inline HRESULT IVssProviderNotifications_OnLoad(IVssProviderNotifications* This,IUnknown *pCallback) {
|
|
return This->lpVtbl->OnLoad(This,pCallback);
|
|
}
|
|
static inline HRESULT IVssProviderNotifications_OnUnload(IVssProviderNotifications* This,WINBOOL bForceUnload) {
|
|
return This->lpVtbl->OnUnload(This,bForceUnload);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IVssProviderNotifications_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IVssHardwareSnapshotProvider interface
|
|
*/
|
|
#ifndef __IVssHardwareSnapshotProvider_INTERFACE_DEFINED__
|
|
#define __IVssHardwareSnapshotProvider_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IVssHardwareSnapshotProvider, 0x9593a157, 0x44e9, 0x4344, 0xbb,0xeb, 0x44,0xfb,0xf9,0xb0,0x6b,0x10);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("9593a157-44e9-4344-bbeb-44fbf9b06b10")
|
|
IVssHardwareSnapshotProvider : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE AreLunsSupported(
|
|
LONG lLunCount,
|
|
LONG lContext,
|
|
VSS_PWSZ *rgwszDevices,
|
|
VDS_LUN_INFORMATION *pLunInformation,
|
|
WINBOOL *pbIsSupported) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE FillInLunInfo(
|
|
VSS_PWSZ wszDeviceName,
|
|
VDS_LUN_INFORMATION *pLunInfo,
|
|
WINBOOL *pbIsSupported) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE BeginPrepareSnapshot(
|
|
VSS_ID SnapshotSetId,
|
|
VSS_ID SnapshotId,
|
|
LONG lContext,
|
|
LONG lLunCount,
|
|
VSS_PWSZ *rgDeviceNames,
|
|
VDS_LUN_INFORMATION *rgLunInformation) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetTargetLuns(
|
|
LONG lLunCount,
|
|
VSS_PWSZ *rgDeviceNames,
|
|
VDS_LUN_INFORMATION *rgSourceLuns,
|
|
VDS_LUN_INFORMATION *rgDestinationLuns) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE LocateLuns(
|
|
LONG lLunCount,
|
|
VDS_LUN_INFORMATION *rgSourceLuns) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE OnLunEmpty(
|
|
VSS_PWSZ wszDeviceName,
|
|
VDS_LUN_INFORMATION *pInformation) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IVssHardwareSnapshotProvider, 0x9593a157, 0x44e9, 0x4344, 0xbb,0xeb, 0x44,0xfb,0xf9,0xb0,0x6b,0x10)
|
|
#endif
|
|
#else
|
|
typedef struct IVssHardwareSnapshotProviderVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IVssHardwareSnapshotProvider *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IVssHardwareSnapshotProvider *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IVssHardwareSnapshotProvider *This);
|
|
|
|
/*** IVssHardwareSnapshotProvider methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *AreLunsSupported)(
|
|
IVssHardwareSnapshotProvider *This,
|
|
LONG lLunCount,
|
|
LONG lContext,
|
|
VSS_PWSZ *rgwszDevices,
|
|
VDS_LUN_INFORMATION *pLunInformation,
|
|
WINBOOL *pbIsSupported);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *FillInLunInfo)(
|
|
IVssHardwareSnapshotProvider *This,
|
|
VSS_PWSZ wszDeviceName,
|
|
VDS_LUN_INFORMATION *pLunInfo,
|
|
WINBOOL *pbIsSupported);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *BeginPrepareSnapshot)(
|
|
IVssHardwareSnapshotProvider *This,
|
|
VSS_ID SnapshotSetId,
|
|
VSS_ID SnapshotId,
|
|
LONG lContext,
|
|
LONG lLunCount,
|
|
VSS_PWSZ *rgDeviceNames,
|
|
VDS_LUN_INFORMATION *rgLunInformation);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetTargetLuns)(
|
|
IVssHardwareSnapshotProvider *This,
|
|
LONG lLunCount,
|
|
VSS_PWSZ *rgDeviceNames,
|
|
VDS_LUN_INFORMATION *rgSourceLuns,
|
|
VDS_LUN_INFORMATION *rgDestinationLuns);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *LocateLuns)(
|
|
IVssHardwareSnapshotProvider *This,
|
|
LONG lLunCount,
|
|
VDS_LUN_INFORMATION *rgSourceLuns);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OnLunEmpty)(
|
|
IVssHardwareSnapshotProvider *This,
|
|
VSS_PWSZ wszDeviceName,
|
|
VDS_LUN_INFORMATION *pInformation);
|
|
|
|
END_INTERFACE
|
|
} IVssHardwareSnapshotProviderVtbl;
|
|
|
|
interface IVssHardwareSnapshotProvider {
|
|
CONST_VTBL IVssHardwareSnapshotProviderVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IVssHardwareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IVssHardwareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IVssHardwareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IVssHardwareSnapshotProvider methods ***/
|
|
#define IVssHardwareSnapshotProvider_AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported) (This)->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported)
|
|
#define IVssHardwareSnapshotProvider_FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported) (This)->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported)
|
|
#define IVssHardwareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation)
|
|
#define IVssHardwareSnapshotProvider_GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns) (This)->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns)
|
|
#define IVssHardwareSnapshotProvider_LocateLuns(This,lLunCount,rgSourceLuns) (This)->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns)
|
|
#define IVssHardwareSnapshotProvider_OnLunEmpty(This,wszDeviceName,pInformation) (This)->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IVssHardwareSnapshotProvider_QueryInterface(IVssHardwareSnapshotProvider* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static inline ULONG IVssHardwareSnapshotProvider_AddRef(IVssHardwareSnapshotProvider* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IVssHardwareSnapshotProvider_Release(IVssHardwareSnapshotProvider* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IVssHardwareSnapshotProvider methods ***/
|
|
static inline HRESULT IVssHardwareSnapshotProvider_AreLunsSupported(IVssHardwareSnapshotProvider* This,LONG lLunCount,LONG lContext,VSS_PWSZ *rgwszDevices,VDS_LUN_INFORMATION *pLunInformation,WINBOOL *pbIsSupported) {
|
|
return This->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported);
|
|
}
|
|
static inline HRESULT IVssHardwareSnapshotProvider_FillInLunInfo(IVssHardwareSnapshotProvider* This,VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pLunInfo,WINBOOL *pbIsSupported) {
|
|
return This->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported);
|
|
}
|
|
static inline HRESULT IVssHardwareSnapshotProvider_BeginPrepareSnapshot(IVssHardwareSnapshotProvider* This,VSS_ID SnapshotSetId,VSS_ID SnapshotId,LONG lContext,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgLunInformation) {
|
|
return This->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation);
|
|
}
|
|
static inline HRESULT IVssHardwareSnapshotProvider_GetTargetLuns(IVssHardwareSnapshotProvider* This,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgSourceLuns,VDS_LUN_INFORMATION *rgDestinationLuns) {
|
|
return This->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns);
|
|
}
|
|
static inline HRESULT IVssHardwareSnapshotProvider_LocateLuns(IVssHardwareSnapshotProvider* This,LONG lLunCount,VDS_LUN_INFORMATION *rgSourceLuns) {
|
|
return This->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns);
|
|
}
|
|
static inline HRESULT IVssHardwareSnapshotProvider_OnLunEmpty(IVssHardwareSnapshotProvider* This,VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pInformation) {
|
|
return This->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IVssHardwareSnapshotProvider_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IVssHardwareSnapshotProviderEx interface
|
|
*/
|
|
#ifndef __IVssHardwareSnapshotProviderEx_INTERFACE_DEFINED__
|
|
#define __IVssHardwareSnapshotProviderEx_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IVssHardwareSnapshotProviderEx, 0x7f5ba925, 0xcdb1, 0x4d11, 0xa7,0x1f, 0x33,0x9e,0xb7,0xe7,0x09,0xfd);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("7f5ba925-cdb1-4d11-a71f-339eb7e709fd")
|
|
IVssHardwareSnapshotProviderEx : public IVssHardwareSnapshotProvider
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetProviderCapabilities(
|
|
ULONGLONG *pllOriginalCapabilityMask) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE OnLunStateChange(
|
|
VDS_LUN_INFORMATION *pSnapshotLuns,
|
|
VDS_LUN_INFORMATION *pOriginalLuns,
|
|
DWORD dwCount,
|
|
DWORD dwFlags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE ResyncLuns(
|
|
VDS_LUN_INFORMATION *pSourceLuns,
|
|
VDS_LUN_INFORMATION *pTargetLuns,
|
|
DWORD dwCount,
|
|
IVssAsync **ppAsync) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE OnReuseLuns(
|
|
VDS_LUN_INFORMATION *pSnapshotLuns,
|
|
VDS_LUN_INFORMATION *pOriginalLuns,
|
|
DWORD dwCount) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IVssHardwareSnapshotProviderEx, 0x7f5ba925, 0xcdb1, 0x4d11, 0xa7,0x1f, 0x33,0x9e,0xb7,0xe7,0x09,0xfd)
|
|
#endif
|
|
#else
|
|
typedef struct IVssHardwareSnapshotProviderExVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IVssHardwareSnapshotProviderEx *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IVssHardwareSnapshotProviderEx *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IVssHardwareSnapshotProviderEx *This);
|
|
|
|
/*** IVssHardwareSnapshotProvider methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *AreLunsSupported)(
|
|
IVssHardwareSnapshotProviderEx *This,
|
|
LONG lLunCount,
|
|
LONG lContext,
|
|
VSS_PWSZ *rgwszDevices,
|
|
VDS_LUN_INFORMATION *pLunInformation,
|
|
WINBOOL *pbIsSupported);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *FillInLunInfo)(
|
|
IVssHardwareSnapshotProviderEx *This,
|
|
VSS_PWSZ wszDeviceName,
|
|
VDS_LUN_INFORMATION *pLunInfo,
|
|
WINBOOL *pbIsSupported);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *BeginPrepareSnapshot)(
|
|
IVssHardwareSnapshotProviderEx *This,
|
|
VSS_ID SnapshotSetId,
|
|
VSS_ID SnapshotId,
|
|
LONG lContext,
|
|
LONG lLunCount,
|
|
VSS_PWSZ *rgDeviceNames,
|
|
VDS_LUN_INFORMATION *rgLunInformation);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetTargetLuns)(
|
|
IVssHardwareSnapshotProviderEx *This,
|
|
LONG lLunCount,
|
|
VSS_PWSZ *rgDeviceNames,
|
|
VDS_LUN_INFORMATION *rgSourceLuns,
|
|
VDS_LUN_INFORMATION *rgDestinationLuns);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *LocateLuns)(
|
|
IVssHardwareSnapshotProviderEx *This,
|
|
LONG lLunCount,
|
|
VDS_LUN_INFORMATION *rgSourceLuns);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OnLunEmpty)(
|
|
IVssHardwareSnapshotProviderEx *This,
|
|
VSS_PWSZ wszDeviceName,
|
|
VDS_LUN_INFORMATION *pInformation);
|
|
|
|
/*** IVssHardwareSnapshotProviderEx methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetProviderCapabilities)(
|
|
IVssHardwareSnapshotProviderEx *This,
|
|
ULONGLONG *pllOriginalCapabilityMask);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OnLunStateChange)(
|
|
IVssHardwareSnapshotProviderEx *This,
|
|
VDS_LUN_INFORMATION *pSnapshotLuns,
|
|
VDS_LUN_INFORMATION *pOriginalLuns,
|
|
DWORD dwCount,
|
|
DWORD dwFlags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ResyncLuns)(
|
|
IVssHardwareSnapshotProviderEx *This,
|
|
VDS_LUN_INFORMATION *pSourceLuns,
|
|
VDS_LUN_INFORMATION *pTargetLuns,
|
|
DWORD dwCount,
|
|
IVssAsync **ppAsync);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OnReuseLuns)(
|
|
IVssHardwareSnapshotProviderEx *This,
|
|
VDS_LUN_INFORMATION *pSnapshotLuns,
|
|
VDS_LUN_INFORMATION *pOriginalLuns,
|
|
DWORD dwCount);
|
|
|
|
END_INTERFACE
|
|
} IVssHardwareSnapshotProviderExVtbl;
|
|
|
|
interface IVssHardwareSnapshotProviderEx {
|
|
CONST_VTBL IVssHardwareSnapshotProviderExVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IVssHardwareSnapshotProviderEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IVssHardwareSnapshotProviderEx_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IVssHardwareSnapshotProviderEx_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IVssHardwareSnapshotProvider methods ***/
|
|
#define IVssHardwareSnapshotProviderEx_AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported) (This)->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported)
|
|
#define IVssHardwareSnapshotProviderEx_FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported) (This)->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported)
|
|
#define IVssHardwareSnapshotProviderEx_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation)
|
|
#define IVssHardwareSnapshotProviderEx_GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns) (This)->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns)
|
|
#define IVssHardwareSnapshotProviderEx_LocateLuns(This,lLunCount,rgSourceLuns) (This)->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns)
|
|
#define IVssHardwareSnapshotProviderEx_OnLunEmpty(This,wszDeviceName,pInformation) (This)->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation)
|
|
/*** IVssHardwareSnapshotProviderEx methods ***/
|
|
#define IVssHardwareSnapshotProviderEx_GetProviderCapabilities(This,pllOriginalCapabilityMask) (This)->lpVtbl->GetProviderCapabilities(This,pllOriginalCapabilityMask)
|
|
#define IVssHardwareSnapshotProviderEx_OnLunStateChange(This,pSnapshotLuns,pOriginalLuns,dwCount,dwFlags) (This)->lpVtbl->OnLunStateChange(This,pSnapshotLuns,pOriginalLuns,dwCount,dwFlags)
|
|
#define IVssHardwareSnapshotProviderEx_ResyncLuns(This,pSourceLuns,pTargetLuns,dwCount,ppAsync) (This)->lpVtbl->ResyncLuns(This,pSourceLuns,pTargetLuns,dwCount,ppAsync)
|
|
#define IVssHardwareSnapshotProviderEx_OnReuseLuns(This,pSnapshotLuns,pOriginalLuns,dwCount) (This)->lpVtbl->OnReuseLuns(This,pSnapshotLuns,pOriginalLuns,dwCount)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IVssHardwareSnapshotProviderEx_QueryInterface(IVssHardwareSnapshotProviderEx* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static inline ULONG IVssHardwareSnapshotProviderEx_AddRef(IVssHardwareSnapshotProviderEx* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IVssHardwareSnapshotProviderEx_Release(IVssHardwareSnapshotProviderEx* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IVssHardwareSnapshotProvider methods ***/
|
|
static inline HRESULT IVssHardwareSnapshotProviderEx_AreLunsSupported(IVssHardwareSnapshotProviderEx* This,LONG lLunCount,LONG lContext,VSS_PWSZ *rgwszDevices,VDS_LUN_INFORMATION *pLunInformation,WINBOOL *pbIsSupported) {
|
|
return This->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported);
|
|
}
|
|
static inline HRESULT IVssHardwareSnapshotProviderEx_FillInLunInfo(IVssHardwareSnapshotProviderEx* This,VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pLunInfo,WINBOOL *pbIsSupported) {
|
|
return This->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported);
|
|
}
|
|
static inline HRESULT IVssHardwareSnapshotProviderEx_BeginPrepareSnapshot(IVssHardwareSnapshotProviderEx* This,VSS_ID SnapshotSetId,VSS_ID SnapshotId,LONG lContext,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgLunInformation) {
|
|
return This->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation);
|
|
}
|
|
static inline HRESULT IVssHardwareSnapshotProviderEx_GetTargetLuns(IVssHardwareSnapshotProviderEx* This,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgSourceLuns,VDS_LUN_INFORMATION *rgDestinationLuns) {
|
|
return This->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns);
|
|
}
|
|
static inline HRESULT IVssHardwareSnapshotProviderEx_LocateLuns(IVssHardwareSnapshotProviderEx* This,LONG lLunCount,VDS_LUN_INFORMATION *rgSourceLuns) {
|
|
return This->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns);
|
|
}
|
|
static inline HRESULT IVssHardwareSnapshotProviderEx_OnLunEmpty(IVssHardwareSnapshotProviderEx* This,VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pInformation) {
|
|
return This->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation);
|
|
}
|
|
/*** IVssHardwareSnapshotProviderEx methods ***/
|
|
static inline HRESULT IVssHardwareSnapshotProviderEx_GetProviderCapabilities(IVssHardwareSnapshotProviderEx* This,ULONGLONG *pllOriginalCapabilityMask) {
|
|
return This->lpVtbl->GetProviderCapabilities(This,pllOriginalCapabilityMask);
|
|
}
|
|
static inline HRESULT IVssHardwareSnapshotProviderEx_OnLunStateChange(IVssHardwareSnapshotProviderEx* This,VDS_LUN_INFORMATION *pSnapshotLuns,VDS_LUN_INFORMATION *pOriginalLuns,DWORD dwCount,DWORD dwFlags) {
|
|
return This->lpVtbl->OnLunStateChange(This,pSnapshotLuns,pOriginalLuns,dwCount,dwFlags);
|
|
}
|
|
static inline HRESULT IVssHardwareSnapshotProviderEx_ResyncLuns(IVssHardwareSnapshotProviderEx* This,VDS_LUN_INFORMATION *pSourceLuns,VDS_LUN_INFORMATION *pTargetLuns,DWORD dwCount,IVssAsync **ppAsync) {
|
|
return This->lpVtbl->ResyncLuns(This,pSourceLuns,pTargetLuns,dwCount,ppAsync);
|
|
}
|
|
static inline HRESULT IVssHardwareSnapshotProviderEx_OnReuseLuns(IVssHardwareSnapshotProviderEx* This,VDS_LUN_INFORMATION *pSnapshotLuns,VDS_LUN_INFORMATION *pOriginalLuns,DWORD dwCount) {
|
|
return This->lpVtbl->OnReuseLuns(This,pSnapshotLuns,pOriginalLuns,dwCount);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IVssHardwareSnapshotProviderEx_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IVssFileShareSnapshotProvider interface
|
|
*/
|
|
#ifndef __IVssFileShareSnapshotProvider_INTERFACE_DEFINED__
|
|
#define __IVssFileShareSnapshotProvider_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IVssFileShareSnapshotProvider, 0xc8636060, 0x7c2e, 0x11df, 0x8c,0x4a, 0x08,0x00,0x20,0x0c,0x9a,0x66);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("c8636060-7c2e-11df-8c4a-0800200c9a66")
|
|
IVssFileShareSnapshotProvider : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE SetContext(
|
|
LONG lContext) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSnapshotProperties(
|
|
VSS_ID SnapshotId,
|
|
VSS_SNAPSHOT_PROP *pProp) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Query(
|
|
VSS_ID QueriedObjectId,
|
|
VSS_OBJECT_TYPE eQueriedObjectType,
|
|
VSS_OBJECT_TYPE eReturnedObjectsType,
|
|
IVssEnumObject **ppEnum) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DeleteSnapshots(
|
|
VSS_ID SourceObjectId,
|
|
VSS_OBJECT_TYPE eSourceObjectType,
|
|
WINBOOL bForceDelete,
|
|
LONG *plDeletedSnapshots,
|
|
VSS_ID *pNondeletedSnapshotID) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE BeginPrepareSnapshot(
|
|
VSS_ID SnapshotSetId,
|
|
VSS_ID SnapshotId,
|
|
VSS_PWSZ pwszSharePath,
|
|
LONG lNewContext,
|
|
VSS_ID ProviderId) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE IsPathSupported(
|
|
VSS_PWSZ pwszSharePath,
|
|
WINBOOL *pbSupportedByThisProvider) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE IsPathSnapshotted(
|
|
VSS_PWSZ pwszSharePath,
|
|
WINBOOL *pbSnapshotsPresent,
|
|
LONG *plSnapshotCompatibility) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetSnapshotProperty(
|
|
VSS_ID SnapshotId,
|
|
VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,
|
|
VARIANT vProperty) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IVssFileShareSnapshotProvider, 0xc8636060, 0x7c2e, 0x11df, 0x8c,0x4a, 0x08,0x00,0x20,0x0c,0x9a,0x66)
|
|
#endif
|
|
#else
|
|
typedef struct IVssFileShareSnapshotProviderVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IVssFileShareSnapshotProvider *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IVssFileShareSnapshotProvider *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IVssFileShareSnapshotProvider *This);
|
|
|
|
/*** IVssFileShareSnapshotProvider methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetContext)(
|
|
IVssFileShareSnapshotProvider *This,
|
|
LONG lContext);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)(
|
|
IVssFileShareSnapshotProvider *This,
|
|
VSS_ID SnapshotId,
|
|
VSS_SNAPSHOT_PROP *pProp);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Query)(
|
|
IVssFileShareSnapshotProvider *This,
|
|
VSS_ID QueriedObjectId,
|
|
VSS_OBJECT_TYPE eQueriedObjectType,
|
|
VSS_OBJECT_TYPE eReturnedObjectsType,
|
|
IVssEnumObject **ppEnum);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)(
|
|
IVssFileShareSnapshotProvider *This,
|
|
VSS_ID SourceObjectId,
|
|
VSS_OBJECT_TYPE eSourceObjectType,
|
|
WINBOOL bForceDelete,
|
|
LONG *plDeletedSnapshots,
|
|
VSS_ID *pNondeletedSnapshotID);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *BeginPrepareSnapshot)(
|
|
IVssFileShareSnapshotProvider *This,
|
|
VSS_ID SnapshotSetId,
|
|
VSS_ID SnapshotId,
|
|
VSS_PWSZ pwszSharePath,
|
|
LONG lNewContext,
|
|
VSS_ID ProviderId);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsPathSupported)(
|
|
IVssFileShareSnapshotProvider *This,
|
|
VSS_PWSZ pwszSharePath,
|
|
WINBOOL *pbSupportedByThisProvider);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsPathSnapshotted)(
|
|
IVssFileShareSnapshotProvider *This,
|
|
VSS_PWSZ pwszSharePath,
|
|
WINBOOL *pbSnapshotsPresent,
|
|
LONG *plSnapshotCompatibility);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetSnapshotProperty)(
|
|
IVssFileShareSnapshotProvider *This,
|
|
VSS_ID SnapshotId,
|
|
VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,
|
|
VARIANT vProperty);
|
|
|
|
END_INTERFACE
|
|
} IVssFileShareSnapshotProviderVtbl;
|
|
|
|
interface IVssFileShareSnapshotProvider {
|
|
CONST_VTBL IVssFileShareSnapshotProviderVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IVssFileShareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IVssFileShareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IVssFileShareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IVssFileShareSnapshotProvider methods ***/
|
|
#define IVssFileShareSnapshotProvider_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext)
|
|
#define IVssFileShareSnapshotProvider_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp)
|
|
#define IVssFileShareSnapshotProvider_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum)
|
|
#define IVssFileShareSnapshotProvider_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID)
|
|
#define IVssFileShareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszSharePath,lNewContext,ProviderId) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszSharePath,lNewContext,ProviderId)
|
|
#define IVssFileShareSnapshotProvider_IsPathSupported(This,pwszSharePath,pbSupportedByThisProvider) (This)->lpVtbl->IsPathSupported(This,pwszSharePath,pbSupportedByThisProvider)
|
|
#define IVssFileShareSnapshotProvider_IsPathSnapshotted(This,pwszSharePath,pbSnapshotsPresent,plSnapshotCompatibility) (This)->lpVtbl->IsPathSnapshotted(This,pwszSharePath,pbSnapshotsPresent,plSnapshotCompatibility)
|
|
#define IVssFileShareSnapshotProvider_SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty) (This)->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static inline HRESULT IVssFileShareSnapshotProvider_QueryInterface(IVssFileShareSnapshotProvider* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static inline ULONG IVssFileShareSnapshotProvider_AddRef(IVssFileShareSnapshotProvider* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static inline ULONG IVssFileShareSnapshotProvider_Release(IVssFileShareSnapshotProvider* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IVssFileShareSnapshotProvider methods ***/
|
|
static inline HRESULT IVssFileShareSnapshotProvider_SetContext(IVssFileShareSnapshotProvider* This,LONG lContext) {
|
|
return This->lpVtbl->SetContext(This,lContext);
|
|
}
|
|
static inline HRESULT IVssFileShareSnapshotProvider_GetSnapshotProperties(IVssFileShareSnapshotProvider* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) {
|
|
return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp);
|
|
}
|
|
static inline HRESULT IVssFileShareSnapshotProvider_Query(IVssFileShareSnapshotProvider* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) {
|
|
return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum);
|
|
}
|
|
static inline HRESULT IVssFileShareSnapshotProvider_DeleteSnapshots(IVssFileShareSnapshotProvider* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) {
|
|
return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID);
|
|
}
|
|
static inline HRESULT IVssFileShareSnapshotProvider_BeginPrepareSnapshot(IVssFileShareSnapshotProvider* This,VSS_ID SnapshotSetId,VSS_ID SnapshotId,VSS_PWSZ pwszSharePath,LONG lNewContext,VSS_ID ProviderId) {
|
|
return This->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszSharePath,lNewContext,ProviderId);
|
|
}
|
|
static inline HRESULT IVssFileShareSnapshotProvider_IsPathSupported(IVssFileShareSnapshotProvider* This,VSS_PWSZ pwszSharePath,WINBOOL *pbSupportedByThisProvider) {
|
|
return This->lpVtbl->IsPathSupported(This,pwszSharePath,pbSupportedByThisProvider);
|
|
}
|
|
static inline HRESULT IVssFileShareSnapshotProvider_IsPathSnapshotted(IVssFileShareSnapshotProvider* This,VSS_PWSZ pwszSharePath,WINBOOL *pbSnapshotsPresent,LONG *plSnapshotCompatibility) {
|
|
return This->lpVtbl->IsPathSnapshotted(This,pwszSharePath,pbSnapshotsPresent,plSnapshotCompatibility);
|
|
}
|
|
static inline HRESULT IVssFileShareSnapshotProvider_SetSnapshotProperty(IVssFileShareSnapshotProvider* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,VARIANT vProperty) {
|
|
return This->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IVssFileShareSnapshotProvider_INTERFACE_DEFINED__ */
|
|
|
|
#ifndef __VSSProvider_LIBRARY_DEFINED__
|
|
#define __VSSProvider_LIBRARY_DEFINED__
|
|
|
|
DEFINE_GUID(LIBID_VSSProvider, 0x73c8b4c1, 0x6e9d, 0x4fc2, 0xb3,0x04, 0x03,0x0e,0xc7,0x63,0xfe,0x81);
|
|
|
|
#endif /* __VSSProvider_LIBRARY_DEFINED__ */
|
|
#endif /* WINAPI_PARTITION_DESKTOP */
|
|
/* Begin additional prototypes for all interfaces */
|
|
|
|
ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
|
|
unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
|
|
unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
|
|
void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *);
|
|
|
|
/* End additional prototypes */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __vsprov_h__ */
|