xpmgr/BuildTools/Include/vsadmin.idl

108 lines
3.4 KiB
Plaintext

///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000 Microsoft Corporation
//
///////////////////////////////////////////////////////////////////////////////
// Imports
//
import "oaidl.idl";
import "ocidl.idl";
import "vss.idl";
[
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(
);
};
[
object,
uuid(7858A9F8-B1FA-41a6-964F-B9B36B8CD8D8),
helpstring("IVssAdminEx interface"),
pointer_default(unique)
]
interface IVssAdminEx : IVssAdmin
{
// Inform caller of features that provider supports
[helpstring("method GetProviderCapability")]
HRESULT GetProviderCapability(
[in] VSS_ID pProviderId,
[out] ULONGLONG * pllOriginalCapabilityMask
);
// Retrieve persistent context of given provider
[helpstring("method GetProviderContext")]
HRESULT GetProviderContext(
[in] VSS_ID ProviderId,
[out] LONG * plContext
);
// Set persistent context of specified provider
// The setting is persisted in registry by VSS
// It is automatically applied to the snapshot context
// Requestors should NOT call this method
[helpstring("method SetProviderContext")]
HRESULT SetProviderContext(
[in] VSS_ID ProviderId,
[in] LONG lContext
);
};
////////////////////////////////////////////////////////
// VSS Admin Type Library
[
uuid(9148a774-0304-4243-b269-a339aa96d264),
version(1.0),
helpstring("Volume Shadow Copy Admin 1.0 Type Library")
]
library VSSAdmin
{
importlib("stdole2.tlb");
[
uuid(E579AB5F-1CC4-44b4-BED9-DE0991FF0623),
helpstring("VSSCoordinator Class")
]
coclass VSSCoordinator
{
[default] interface IVssAdmin;
interface IVssAdminEx;
}
}