51 lines
1.3 KiB
Plaintext
51 lines
1.3 KiB
Plaintext
// private interfaces for use by the Decoupled Event Provider
|
|
import "WbemDCpl.idl";
|
|
|
|
[object, uuid(4875DE77-E623-11d2-9CB3-00105A1F4801)]
|
|
interface IWbemDecoupledEventSinkLocator : IUnknown
|
|
{
|
|
// "Sink available"
|
|
HRESULT Connect([in] IUnknown* pDecoupledProvider);
|
|
|
|
// "Sink's no good any more"
|
|
HRESULT Disconnect();
|
|
};
|
|
|
|
[object, uuid(BF9AD5BE-F0FB-11d2-9CC2-00105A1F4801)]
|
|
interface IWbemDecoupledEventProvider : IUnknown
|
|
{
|
|
HRESULT Connect(
|
|
[in] long lFlags,
|
|
[in] IUnknown* pPseudoSink,
|
|
[out] IWbemObjectSink** ppSink,
|
|
[out] IWbemServices** ppNamespace);
|
|
|
|
// "Here's a provider services, gimmee info
|
|
HRESULT SetProviderServices([in] IUnknown* pProviderServices, [in] long lFlags, [out] DWORD* dwID);
|
|
|
|
// "provider services no good any more"
|
|
HRESULT Disconnect([in] DWORD dwID);
|
|
};
|
|
|
|
[object, uuid(00B0204A-EC79-11d2-9CB7-00105A1F4801)]
|
|
interface IWbemDecoupledEventProviderLocator : IUnknown
|
|
{
|
|
// Retrieve decoupled provider from ROT entry.
|
|
HRESULT GetProvider([out] IWbemDecoupledEventProvider** pDecoupledProvider);
|
|
};
|
|
|
|
[uuid(E002E4EF-E6EA-11d2-9CB3-00105A1F4801)]
|
|
library PassiveProvider
|
|
{
|
|
[uuid(E002E4EE-E6EA-11d2-9CB3-00105A1F4801)]
|
|
coclass PseudoProvider
|
|
{
|
|
interface IWbemDecoupledEventProvider;
|
|
interface IWbemDecoupledEventProviderLocator;
|
|
};
|
|
|
|
coclass PseudoSink;
|
|
};
|
|
|
|
|