|
|
/////////////////////////////////////////////////////////////////////////////// // // Copyright (c) 2000 Microsoft Corporation //
/////////////////////////////////////////////////////////////////////////////// // Imports //
import "oaidl.idl"; import "ocidl.idl";
import "vss.idl"; import "vdslun.idl";
/////////////////////////////////////////////////////////////////////////////// // Forward declarations //
// interfaces supported by the provider interface IVssSnapshotProvider; interface IVssProviderNotifications;
typedef VSS_PWSZ *PVSS_PWSZ;
/////////////////////////////////////////////////////////////////////////////// // Interfaces //
[ object, uuid(609e123e-2c5a-44d3-8f01-0b1d9a47d1ff), helpstring("IVssSoftwareSnapshotProvider interface"), pointer_default(unique) ] interface IVssSoftwareSnapshotProvider : IUnknown { [helpstring("method SetContext")] HRESULT SetContext( [in] LONG lContext );
[helpstring("method GetSnapshot")] HRESULT GetSnapshotProperties( [in] VSS_ID SnapshotId, [out] VSS_SNAPSHOT_PROP *pProp );
[helpstring("method Query")] HRESULT Query( [in] VSS_ID QueriedObjectId, [in] VSS_OBJECT_TYPE eQueriedObjectType, [in] VSS_OBJECT_TYPE eReturnedObjectsType, [out] IVssEnumObject **ppEnum );
[helpstring("method DeleteSnapshots")] HRESULT DeleteSnapshots( [in] VSS_ID SourceObjectId, [in] VSS_OBJECT_TYPE eSourceObjectType, [in] BOOL bForceDelete, [out] LONG* plDeletedSnapshots, [out] VSS_ID* pNondeletedSnapshotID );
[helpstring("method BeginPrepareSnapshot")] HRESULT BeginPrepareSnapshot( [in] VSS_ID SnapshotSetId, [in] VSS_ID SnapshotId, [in] VSS_PWSZ pwszVolumeName, [in] LONG lNewContext );
[helpstring("method IsVolumeSupported")] HRESULT IsVolumeSupported( [in] VSS_PWSZ pwszVolumeName, [out] BOOL * pbSupportedByThisProvider );
[helpstring("method IsVolumeSnapshotted")] HRESULT IsVolumeSnapshotted( [in] VSS_PWSZ pwszVolumeName, [out] BOOL * pbSnapshotsPresent, [out] LONG * plSnapshotCompatibility );
[helpstring("method SetSnapshotProperty")] HRESULT SetSnapshotProperty ( [in] VSS_ID SnapshotId, [in] VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId, [in] VARIANT vProperty );
[helpstring("method RevertToSnapshot")] HRESULT RevertToSnapshot( [in] VSS_ID SnapshotId );
[helpstring("method QueryRevertStatus")] HRESULT QueryRevertStatus( [in] VSS_PWSZ pwszVolume, [out] IVssAsync** ppAsync ); };
[ object, uuid(5F894E5B-1E39-4778-8E23-9ABAD9F0E08C), helpstring("IVssProviderCreateSnapshotSet interface"), pointer_default(unique) ] interface IVssProviderCreateSnapshotSet : IUnknown { [helpstring("method EndPrepareSnapshots")] HRESULT EndPrepareSnapshots( [in] VSS_ID SnapshotSetId );
[helpstring("method PreCommitSnapshots")] HRESULT PreCommitSnapshots( [in] VSS_ID SnapshotSetId );
[helpstring("method CommitSnapshots")] HRESULT CommitSnapshots( [in] VSS_ID SnapshotSetId );
[helpstring("method PostCommitSnapshots")] HRESULT PostCommitSnapshots( [in] VSS_ID SnapshotSetId, [in] LONG lSnapshotsCount );
[helpstring("method PreFinalCommitSnapshots")] HRESULT PreFinalCommitSnapshots( [in] VSS_ID SnapshotSetId );
[helpstring("method PostFinalCommitSnapshots")] HRESULT PostFinalCommitSnapshots( [in] VSS_ID SnapshotSetId ); [helpstring("method AbortSnapshots")] HRESULT AbortSnapshots( [in] VSS_ID SnapshotSetId ); };
[ object, uuid(E561901F-03A5-4afe-86D0-72BAEECE7004), helpstring("IVssProviderNotifications interface"), pointer_default(unique) ] interface IVssProviderNotifications : IUnknown { [helpstring("method OnLoad")] HRESULT OnLoad( [in,unique] IUnknown* pCallback );
[helpstring("method OnUnload")] HRESULT OnUnload( [in] BOOL bForceUnload ); };
[ object, uuid(9593A157-44E9-4344-BBEB-44FBF9B06B10), helpstring("IVssHardwareSnapshotProvider interface"), pointer_default(unique) ] interface IVssHardwareSnapshotProvider : IUnknown { [helpstring("method AreLunsSupported")] HRESULT AreLunsSupported ( [in] LONG lLunCount, [in] LONG lContext, [in, unique, size_is(lLunCount)] VSS_PWSZ *rgwszDevices, [in, out, size_is(lLunCount)] VDS_LUN_INFORMATION *pLunInformation, [out] BOOL *pbIsSupported );
[helpstring("method FillInLunInfo")] HRESULT FillInLunInfo ( [in] VSS_PWSZ wszDeviceName, [in, out] VDS_LUN_INFORMATION *pLunInfo, [out] BOOL *pbIsSupported );
[helpstring("method BeginPrepareSnapshot")] HRESULT BeginPrepareSnapshot( [in] VSS_ID SnapshotSetId, [in] VSS_ID SnapshotId, [in] LONG lContext, [in] LONG lLunCount, [in, unique, size_is(lLunCount)] VSS_PWSZ *rgDeviceNames, [in, out, size_is(lLunCount)] VDS_LUN_INFORMATION *rgLunInformation );
[helpstring("method GetTargetLuns")] HRESULT GetTargetLuns( [in] LONG lLunCount, [in, unique, size_is(lLunCount)] VSS_PWSZ *rgDeviceNames, [in, unique, size_is(lLunCount)] VDS_LUN_INFORMATION *rgSourceLuns, [in, out, size_is(lLunCount)] VDS_LUN_INFORMATION *rgDestinationLuns );
[helpstring("method LocateLuns")] HRESULT LocateLuns( [in] LONG lLunCount, [in, unique, size_is(lLunCount)] VDS_LUN_INFORMATION *rgSourceLuns );
[helpstring("OnLunEmpty")] HRESULT OnLunEmpty ( [in, unique] VSS_PWSZ wszDeviceName, [in, unique] VDS_LUN_INFORMATION *pInformation );
};
//////////////////////////////////////////////////////// // VSS Type Library
[
uuid(73C8B4C1-6E9D-4fc2-B304-030EC763FE81), version(1.0), helpstring("Volume Shadow Copy Service Provider 1.0 Type Library")
] library VSSProvider { importlib("stdole2.tlb");
}
|