51 lines
1.2 KiB
Plaintext
51 lines
1.2 KiB
Plaintext
import "objidl.idl";
|
|
import "oleidl.idl";
|
|
import "oaidl.idl";
|
|
import "wbemcli.idl";
|
|
|
|
// flags passed to IWbemDecoupledEventSink::Connect
|
|
typedef [v1_enum] enum tag_WBEM_PSEUDO_PROVIDER_CONNECT_FLAGS
|
|
{
|
|
WBEM_FLAG_NOTIFY_START_STOP = 1,
|
|
WBEM_FLAG_NOTIFY_QUERY_CHANGE = 2,
|
|
WBEM_FLAG_CHECK_SECURITY = 4
|
|
|
|
} WBEM_PSEUDO_PROVIDER_CONNECT_FLAGS;
|
|
|
|
// flags passed to IWbemEventProvider::ProvideEvents
|
|
typedef [v1_enum] enum tag_WBEM_PROVIDE_EVENTS_FLAGS
|
|
{
|
|
WBEM_FLAG_START_PROVIDING = 0,
|
|
WBEM_FLAG_STOP_PROVIDING = 1
|
|
} WBEM_PROVIDE_EVENTS_FLAGS;
|
|
|
|
[object, local, uuid(CD94EBF2-E622-11d2-9CB3-00105A1F4801)]
|
|
interface IWbemDecoupledEventSink : IUnknown
|
|
{
|
|
// "real provider ready to play"
|
|
HRESULT Connect(
|
|
[in, string] LPCWSTR wszNamespace,
|
|
[in, string] LPCWSTR wszProviderName,
|
|
[in] long lFlags,
|
|
[out] IWbemObjectSink** ppSink,
|
|
[out] IWbemServices** ppNamespace);
|
|
|
|
// real provider wants notifications
|
|
HRESULT SetProviderServices([in] IUnknown* pProviderServices, [in] long lFlags);
|
|
|
|
// real provider doesn't want to play any more
|
|
HRESULT Disconnect();
|
|
};
|
|
|
|
[uuid(E002EEEF-E6EA-11d2-9CB3-00105A1F4801)]
|
|
library PassiveSink
|
|
{
|
|
[uuid(E002E4F0-E6EA-11d2-9CB3-00105A1F4801)]
|
|
coclass PseudoSink
|
|
{
|
|
interface IWbemDecoupledEventSink;
|
|
};
|
|
};
|
|
|
|
|