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 でサポートされているクエリ言語のいずれかを含む有効な BSTRNULL にすることはできません。 現在、 WMI クエリ言語 (WQL) のみがサポートされています。

[in] strQuery

イベント関連のクエリのテキストを含む有効な BSTRNULL にすることはできません。 WMI クエリ文字列の構築の詳細については、「WQL を使用したクエリ」 および 「WQL」を参照してください。

[in] lFlags

このパラメーターは 、WBEM_FLAG_RETURN_IMMEDIATELYWBEM_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

こちらもご覧ください

IWbemServices

IWbemServices::ExecNotificationQueryAsync

WQL を使用したクエリ

アプリケーションの期間中のイベントの受信

エラー コードの取得