|
|
/////////////////////////////////////////////////////////////////////////////// // // Copyright (c) 2000 Microsoft Corporation //
/////////////////////////////////////////////////////////////////////////////// // Imports //
import "oaidl.idl"; import "ocidl.idl"; import "vss.idl";
/////////////////////////////////////////////////////////////////////////////// // Interfaces //
[ object, uuid(93BA4344-AA56-403e-87F2-819650FEDACD), helpstring("IVssCoordinator interface"), pointer_default(unique) ] interface IVssCoordinator : IUnknown { [helpstring("method SetContext")] HRESULT SetContext( [in] LONG lContext );
[helpstring("method StartSnapshotSet")] HRESULT StartSnapshotSet( [out] VSS_ID* pSnapshotSetId );
[helpstring("method AddToSnapshotSet")] HRESULT AddToSnapshotSet( [in] VSS_PWSZ pwszVolumeName, [in] VSS_ID ProviderId, [out] VSS_ID *pSnapshotId );
[helpstring("method DoSnapshotSet")] HRESULT DoSnapshotSet( [in] IDispatch *pWriterCallback, [out] IVssAsync** ppAsync );
[helpstring("method GetSnapshotProperties")] HRESULT GetSnapshotProperties( [in] VSS_ID SnapshotId, [out] VSS_SNAPSHOT_PROP *pProp );
[helpstring("method ExposeSnapshot")] HRESULT ExposeSnapshot( [in] VSS_ID SnapshotId, [in] VSS_PWSZ wszPathFromRoot, [in] LONG lAttributes, [in] VSS_PWSZ wszExpose, [out] VSS_PWSZ *pwszExposed );
[helpstring("method RemountReadWrite")] HRESULT RemountReadWrite( [in] VSS_ID SnapshotId, [out] IVssAsync** ppAsync );
[helpstring("method ImportSnapshots")] HRESULT ImportSnapshots( [in] BSTR bstrXMLSnapshotSet, [out] IVssAsync** ppAsync );
[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 BreakSnapshotSet")] HRESULT BreakSnapshotSet( [in] VSS_ID SnapshotSetId );
[helpstring("method IsVolumeSupported")] HRESULT IsVolumeSupported( [in] VSS_ID ProviderId, [in] VSS_PWSZ pwszVolumeName, [out] BOOL * pbSupportedByThisProvider );
[helpstring("method IsVolumeSnapshotted")] HRESULT IsVolumeSnapshotted( [in] VSS_ID ProviderId, [in] VSS_PWSZ pwszVolumeName, [out] BOOL * pbSnapshotsPresent, [out] LONG * plSnapshotCompatibility );
[helpstring("method SetWriterInstances")] HRESULT SetWriterInstances( [in] LONG lWriterInstanceIdCount, [in, unique, size_is(lWriterInstanceIdCount)] VSS_ID *rgWriterInstanceId ); };
[ object, uuid(D6222095-05C3-42f3-81D9-A4A0CEC05C26), helpstring("IVssShim interface"), pointer_default(unique) ] interface IVssShim : IUnknown { [helpstring("method SimulateSnapshotFreeze")] HRESULT SimulateSnapshotFreeze( [in] VSS_ID guidSnapshotSetId, [in] ULONG ulOptionFlags, [in] ULONG ulVolumeCount, [in, unique, size_is(ulVolumeCount, ) ] VSS_PWSZ* ppwszVolumeNamesArray, [out] IVssAsync** ppAsync );
[helpstring("method SimulateSnapshotThaw")] HRESULT SimulateSnapshotThaw( [in] VSS_ID guidSnapshotSetId );
[helpstring("method WaitForSubscribingCompletion")] HRESULT WaitForSubscribingCompletion(); };
[ object, uuid(77ED5996-2F63-11d3-8A39-00C04F72D8E3), helpstring("IVssAdmin interface"), pointer_default(unique) ] interface IVssAdmin : IUnknown { [helpstring("method RegisterProvider")] HRESULT RegisterProvider( [in] VSS_ID pProviderId, [in] CLSID ClassId, [in] VSS_PWSZ pwszProviderName, [in] VSS_PROVIDER_TYPE eProviderType, [in] VSS_PWSZ pwszProviderVersion, [in] VSS_ID ProviderVersionId );
[helpstring("method UnregisterProvider")] HRESULT UnregisterProvider( [in] VSS_ID ProviderId );
[helpstring("method QueryProviders")] HRESULT QueryProviders( [out] IVssEnumObject**ppEnum );
[helpstring("method AbortAllSnapshotsInProgress")] HRESULT AbortAllSnapshotsInProgress( ); };
//////////////////////////////////////////////////////// // VSS Type Library
[ uuid(97AEFDD8-2F60-11d3-8A39-00C04F72D8E3), version(1.0), helpstring("Volume Shadow Copy Service 1.0 Type Library") ] library VSS { importlib("stdole2.tlb");
[ uuid(E579AB5F-1CC4-44b4-BED9-DE0991FF0623), helpstring("VSSCoordinator Class") ] coclass VSSCoordinator { [default] interface IVssCoordinator; interface IVssAdmin; } }
|