xpmgr/BuildTools/Include/vdsprvcm.idl

65 lines
2.0 KiB
Plaintext

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 2000
//
// File: vdsprvcm.idl
//
// Abstract:
// declarations of interfaces and types that are exposed by providers
// to the service, but not exposed through the service.
//
//----------------------------------------------------------------------------
interface IVdsProviderPrivate;
//
// IVdsProviderPrivate:
// Implemented by: provider object
// Implemented where: providers
// Accessed by: common layer
//
[
object,
uuid(11f3cd41-b7e8-48ff-9472-9dff018aa292),
pointer_default(unique)
]
interface IVdsProviderPrivate : IUnknown
{
// GetObject:
// The service queries each provider using this method to find
// the object and create a wrapper object for it.
[helpstring("method GetObject")]
HRESULT GetObject(
[in] VDS_OBJECT_ID ObjectId,
[in] VDS_OBJECT_TYPE type,
[out] IUnknown **ppObjectUnk
);
// OnLoad:
// The service call OnLoad() method after loading
// a provider. The provider should intialize itself in
// this call.
[helpstring("method OnLoad")]
HRESULT OnLoad(
[in,string] LPWSTR pwszMachineName,
[in] IUnknown *pCallbackObject
);
// A provider should call QueryInterface() on pCallbackObject to
// get any interface pointer needed. At this time, there are only
// two such interface: IVdsOwnershipChangeQuery(for software provider
// only) and IVdsAdviseSink.
// OnUnload:
// The service call OnUnload() method before unloading
// a provider. The provider should unintialize itself in
// this call. It returns S_FALSE to let the service know
// it's not ready to unload yet.
[helpstring("method OnUnload")]
HRESULT OnUnload(
[in] BOOL bForceUnload
);
}