windows-nt/Source/XPSP1/NT/base/headless/watcher/wbemdcpl.idl
2020-09-26 16:20:57 +08:00

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, 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;
};
};