SWbemObject.InstancesAsync_ メソッド

SWbemObjectInstancesAsync_ メソッドは、現在のクラス オブジェクトのインスタンスを非同期的に提供します。 このメソッドは、シンプルなクエリを実装します。 より複雑なクエリでは、SWbemServices.ExecQuery の使用が必要になる場合があります。

この構文の説明については、「スクリプト API のドキュメント規則」を参照してください。

構文

SWbemObject.InstancesAsync_( _
  ByVal objWbemSink, _
  [ ByVal iFlags ], _
  [ ByVal objwbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

パラメーター

objWbemSink [in]

インスタンスを返すオブジェクト シンク。

iFlags [in, optional]

呼び出しの動作を決定する整数。 このパラメーターには次の値を指定できます。

wbemFlagSendStatus (128 (0x80))

非同期呼び出しから、オブジェクト シンクの SWbemSink.OnProgress イベント ハンドラーに状態の更新が送信されるようにします。

wbemFlagDontSendStatus (0 (0x0))

非同期呼び出しからオブジェクト シンクの OnProgress イベント ハンドラーに状態の更新が送信されないようにします。

wbemFlagUseAmendedQualifiers (131072 (0x20000))

WMI から、ローカライズされたクラスとプロパティの説明が返されるようにします。 詳細については、「WMI クラス情報のローカライズ」を参照してください。

objwbemNamedValueSet [in, optional]

通常、これは未定義です。 そうでない場合、これは SWbemNamedValueSet オブジェクトであり、その要素は、要求を処理しているプロバイダーが使用できるコンテキスト情報を表します。 このような情報をサポートする、または必要とするプロバイダーは、認識された値名、値のデータ型、許可された値、セマンティクスを文書化する必要があります。

objWbemAsyncContext [in, optional]

これは、元の非同期呼び出しのソースを識別するためにオブジェクト シンクに戻る SWbemNamedValueSet オブジェクトです。 同じオブジェクト シンクを使用して複数の非同期呼び出しを行う場合は、このパラメータを使用します。 このパラメータを使用するには、SWbemNamedValueSet オブジェクトを作成し、SWbemNamedValueSet.Add メソッドを使用して、実行する非同期呼び出しを識別する値を追加します。 この SWbemNamedValueSet オブジェクトはオブジェクト シンクに返され、呼び出しのソースは SWbemNamedValueSet.Item メソッドを使用して抽出できます。 詳細については、「メソッドの呼び出し」を参照してください。

戻り値

このメソッドは値を返しません。 成功した場合、シンクはインスタンスごとに OnObjectReady イベントを受け取ります。 最後のインスタンスの後、オブジェクト シンクは OnCompleted イベントを受け取ります。

エラー コード

InstancesAsync_ メソッドが完了すると、Err オブジェクトに次の一覧のいずれかのエラー コードが含まれる場合があります。

wbemErrAccessDenied - 2147749891 (0x80041003)

指定されたクラスのインスタンスを表示するためのアクセス許可が現在のユーザーにありません。

wbemErrFailed - 2147749889 (0x80041001)

未指定のエラーが発生しました。

wbemErrInvalidClass - 2147749904 (0x80041010)

指定されたクラスが無効です。

wbemErrInvalidParameter - 2147749896 (0x80041008)

指定されたパラメータが無効です。

wbemErrOutOfMemory - 2147749894 (0x80041006)

操作を完了させるための十分なメモリがありません。

解説

この呼び出しはすぐに返されます。 要求されたオブジェクトと状態は、"objWbemSink" で指定されたシンクに配信されるコールバックを通じて呼び出し元に返されます。 到着時に各オブジェクト処理するには、"objWbemSink". OnObjectReady イベント サブルーチンを作成します。 すべてのオブジェクトが返されたら、"objWbemSink". OnCompleted イベントの実装で最終的な処理を実行できます。

非同期コールバックを使用すると、認証されていないユーザーがシンクにデータを提供できます。 これにより、スクリプトとアプリケーションにセキュリティ リスクが発生します。 リスクを排除するには、半同期通信と同期通信のいずれかを使用します。 詳細については、メソッドの呼び出しに関するページを参照してください。

InstancesAsync_ メソッドは、クラス オブジェクトに対してのみ機能します。 返されるコレクションに含まれている要素がゼロ (0) であってもエラーではありません。

要件

要件
サポートされている最小のクライアント
Windows Vista
サポートされている最小のサーバー
Windows Server 2008
Header
Wbemdisp.h
タイプ ライブラリ
Wbemdisp.tlb
[DLL]
Wbemdisp.dll
CLSID
CLSID_SWbemObject
IID
IID_ISWbemObject

関連項目

SWbemObject

SWbemObjectSet