IWbemServices::ExecNotificationQuery メソッド (wbemcli.h)
IWbemServices::ExecNotificationQuery メソッドは、イベントを受信するクエリを実行します。 呼び出しは直ちに返され、ユーザーは、返された列挙子にイベントが到着したときにポーリングできます。 返された列挙子を解放すると、クエリが取り消されます。
構文
HRESULT ExecNotificationQuery(
[in] const BSTR strQueryLanguage,
[in] const BSTR strQuery,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IEnumWbemClassObject **ppEnum
);
パラメーター
[in] strQueryLanguage
Windows Management でサポートされているクエリ言語のいずれかを含む有効な BSTR 。 NULL にすることはできません。 現在、 WMI クエリ言語 (WQL) のみがサポートされています。
[in] strQuery
イベント関連のクエリのテキストを含む有効な BSTR 。 NULL にすることはできません。 WMI クエリ文字列の構築の詳細については、「WQL を使用したクエリ」 および 「WQL」を参照してください。
[in] lFlags
このパラメーターは 、WBEM_FLAG_RETURN_IMMEDIATELY と WBEM_FLAG_FORWARD_ONLY の両方に設定する必要があります。または、呼び出しが失敗します。
WBEM_FLAG_FORWARD_ONLY
このフラグにより、前方専用列挙子が返されます。 前方専用列挙子は、通常ははるかに高速であり、従来の列挙子よりも少ないメモリを使用しますが、 Clone または Reset の呼び出しは許可されません。
WBEM_FLAG_RETURN_IMMEDIATELY
ユーザーはこのフラグを指定する必要があります。または、呼び出しが失敗します。 これは、イベントが連続して受信されるためで、ユーザーが返された列挙子をポーリングする必要があることを意味します。 可能性のあるイベントを待機している間にこの呼び出しを無期限にブロックすると、スレッドが無期限にブロックされます。 詳細については、「メソッドの呼び出し」を参照してください。
[in] pCtx
通常 は NULL です。 それ以外の場合、これは、要求されたイベントを提供するプロバイダーが使用できる IWbemContext オブジェクトへのポインターです。 コンテキスト オブジェクトの値は、該当するプロバイダーのドキュメントで指定する必要があります。 このパラメーターの詳細については、「 WMI への呼び出しの作成」を参照してください。
[out] ppEnum
エラーが発生しない場合、このパラメーターは、呼び出し元がクエリの結果セット内のインスタンスを取得できるようにする列挙子を受け取ります。 呼び出し元は IEnumWbemClassObject::Next を定期的に呼び出して、使用可能なイベントがあるかどうかを確認します。 この使用法では、 Reset は列挙子をイベント シーケンスの先頭に戻さないことに注意してください。効果はありません。 パラメーターは、返された列挙子で Release が呼び出されるまでイベントを受け取り続けることができます。
戻り値
このメソッドは、メソッド呼び出しの状態を示す HRESULT を返します。 次の一覧は、 HRESULT に含まれる値の一覧です。
失敗した場合は、COM 関数 GetErrorInfo から使用可能な情報を取得できます。
ネットワークの問題によって Windows Management へのリモート接続が失われると、COM 固有のエラー コードも返される可能性があります。
注釈
WQL クエリで使用できる AND および OR キーワードの数には制限があります。 複雑なクエリで使用される WQL キーワードの数が多いと、WMI が WBEM_E_QUOTA_VIOLATION エラー コードを HRESULT 値として返すことがあります。 WQL キーワードの制限は、クエリの複雑さによって異なります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | wbemcli.h (Wbemidl.h を含む) |
Library | Wbemuuid.lib |
[DLL] | Fastprox.dll;Esscli.dll;FrameDyn.dll。FrameDynOS.dll;Ntevt.dll;Stdprov.dll;Viewprov.dll;Wbemcomn.dll;Wbemcore.dll;Wbemess.dll;Wbemsvc.dll;Wmipicmp.dll;Wmidcprv.dll;Wmipjobj.dll;Wmiprvsd.dll |