SWbemObject.ReferencesAsync_ メソッド

SWbemObject オブジェクトの ReferencesAsync_ メソッドは、現在のオブジェクトを参照するすべての関連付けクラスまたはインスタンスのコレクションを提供します。 このメソッドは、WQL の REFERENCES OF クエリが実行するのと同じ関数を実行します。

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

構文

SWbemObject.ReferencesAsync_( _
  ByVal objWbemSink, _
  [ ByVal strResultClass ], _
  [ ByVal strRole ], _
  [ ByVal bClassesOnly ], _
  [ ByVal bSchemaOnly ], _
  [ ByVal strRequiredQualifier ], _
  [ ByVal iFlags ], _
  [ ByVal objwbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

パラメーター

objWbemSink [in]

必須。 オブジェクトを非同期的に受信するオブジェクト シンク。

strResultClass [in、オプション]

クラス名を含む文字列。 指定した場合、このパラメータは、返される関連付けオブジェクトがこのパラメータで指定されたクラスに属しているか、そのクラスから派生していなければならないことを示します。

strRole [in、省略可能]

プロパティ名を含む文字列。 指定した場合、このパラメータは、返される関連付けオブジェクトが、ソース オブジェクトが特定の役割を果たすオブジェクトに制限されていなければならないことを示します。 指定した参照プロパティの名前は、関連付けのロールを定義します。

bClassesOnly [in、オプション]

クラスの実際のインスタンスではなく、クラス名のリストを返す必要があるかどうかを示すブール値。 これらは、関連付けオブジェクトが属しているクラスです。 このパラメーターの既定値は、FALSE です。

bSchemaOnly [in、省略可能]

クエリはデータではなくスキーマに適用されるのかどうかを示すブール値。 このパラメーターの既定値は、FALSE です。 TRUE に設定できるのは、このメソッドが呼び出されるオブジェクトがクラスである場合のみです。 TRUE に設定すると、返されるエンドポイントのセットは、スキーマ内のソース クラスに適切に関連付けられているクラスを表します。

strRequiredQualifier [in、省略可能]

修飾子名を含む文字列。 指定した場合、このパラメータは、返される関連付けオブジェクトは指定された修飾子を含まなければならないことを示します。

iFlags [in、省略可能]

操作に対する追加のフラグを指定する整数。 このパラメーターには次の値を指定できます。

wbemFlagSendStatus (128 (0x80))

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

wbemFlagDontSendStatus (0 (0x0))

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

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Windows Management Instrumentation (WMI) によって、基底クラス定義と共にクラス変更データが返されます。 詳細については、「WMI クラス情報のローカライズ」を参照してください。

objwbemNamedValueSet [in, optional]

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

objWbemAsyncContext [in、オプション]

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

戻り値

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

エラー コード

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

wbemErrAccessDenied - 2147749891 (0x80041003)

現在のユーザーに、呼び出しから返される 1 つ以上のクラスを表示する権限がありません。

wbemErrFailed - 2147749889 (0x80041001)

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

wbemErrInvalidParameter - 2147749896 (0x80041008)

無効なパラメーターが指定されました。

wbemErrOutOfMemory - 2147749894 (0x80041006)

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

解説

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

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

関連付けられた WQL クエリ、ソース インスタンス、および関連付けオブジェクトを参照する方法の詳細については、「ASSOCIATEDORS OF ステートメント」を参照してください。

要件

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

関連項目

SWbemObject

SWbemObject.Associators_

SWbemServices.AssociatorsOf

SWbemServices.ReferencesTo

SWbemServices.ReferencesToAsync