SWbemObject.AssociatorsAsync_ メソッド
SWbemObject の AssociatorsAsync_ メソッドは、現在のオブジェクトに関連付けられているオブジェクト (クラスまたはインスタンス) を取得します。 これらのオブジェクトはエンドポイントと呼ばれます。 このメソッドは、WQL クエリ ASSOCIATORS OF が実行するのと同じ関数を実行します。
この構文の説明については、「スクリプト API のドキュメント規則」を参照してください。
構文
SWbemObject.AssociatorsAsync_( _
ByVal objWbemSink, _
[ ByVal strAssocClass ], _
[ ByVal strResultClass ], _
[ ByVal strResultRole ], _
[ ByVal strRole ], _
[ ByVal bClassesOnly ], _
[ ByVal bSchemaOnly ], _
[ ByVal strRequiredAssocQualifier ], _
[ ByVal strRequiredQualifier ], _
[ ByVal iFlags ], _
[ ByVal objwbemNamedValueSet ], _
[ ByVal objWbemAsyncContext ] _
)
パラメーター
-
objWbemSink [in]
-
必須。 オブジェクトを非同期的にコールバックとして受信するオブジェクト シンク。
-
strAssocClass [in、省略可能]
-
関連付けクラスを含む文字列。 指定した場合、このパラメーターは、返されるエンドポイントが、指定された関連付けクラスまたはこの関連付けクラスから派生したクラスを介してソースに関連付けられている必要があることを示します。
-
strResultClass [in、省略可能]
-
クラス名を含む文字列。 指定した場合、このパラメーターは、返されるエンドポイントがこのパラメーターで指定されたクラスに属しているか、そのクラスから派生していなければならないことを示します。
-
strResultRole [in、省略可能]
-
プロパティ名を含む文字列。 指定した場合、このパラメーターは、返されるエンドポイントが、ソース オブジェクトとの関連付けで特定の役割を担う必要があることを示します。 役割は、関連付けの指定されたプロパティ (参照プロパティである必要があります) の名前によって定義されます。
-
strRole [in、省略可能]
-
プロパティ名を含む文字列。 指定した場合、このパラメーターは、返されるエンドポイントがソース オブジェクトとの関連付け (この中ではソース オブジェクトが特定の役割を担っている) に参加している必要があることを示します。 役割は、関連付けの指定されたプロパティ (参照プロパティである必要があります) の名前によって定義されます。
-
bClassesOnly [in、省略可能]
-
クラスの実際のインスタンスではなく、クラス名のリストを返す必要があるかを示すブール値。 これらは、エンドポイント インスタンスが属するクラスです。 このパラメーターの既定値は、FALSE です。
-
bSchemaOnly [in、省略可能]
-
クエリがデータではなく、スキーマに適用されるのかを示すブール値。 このパラメーターの既定値は、FALSE です。 TRUE に設定できるのは、このメソッドが呼び出されるオブジェクトがクラスである場合のみです。 TRUE に設定すると、返されるエンドポイントのセットは、スキーマ内のソース クラスに適切に関連付けられているクラスを表します。
-
strRequiredAssocQualifier [in、省略可能]
-
修飾子名を含む文字列。 指定した場合、このパラメーターは、返されるエンドポイントが、指定した修飾子を含む関連付けクラスを介してソース オブジェクトに関連付けられている必要があることを示します。
-
strRequiredQualifier [in、省略可能]
-
修飾子名を含む文字列。 指定した場合、このパラメーターは、返されるエンドポイントは指定された修飾子を含まなければならないことを示します。
-
iFlags [in、省略可能]
-
操作に対する追加のフラグを指定する整数。 このパラメーターには次の値を指定できます。
-
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 イベントを受け取ります。
エラー コード
AssociatorsAsync_ メソッドの完了後、Err オブジェクトに次の一覧のいずれかのエラー コードが含まれる場合があります。
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
現在のユーザーに、呼び出しから返される 1 つ以上のクラスを表示する権限がありません。
-
wbemErrFailed - 2147449889 (0x7FFF7C21)
-
未定義のエラーが発生しました。
-
wbemErrInvalidParameter - 2147749896 (0x80041008)
-
指定されたパラメータが無効です。
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
操作を完了させるための十分なメモリがありません。
解説
この呼び出しは直ちに制御を返します。 要求されたオブジェクトと状態は、objWbemSink で指定されたシンクに配信されるコールバックを通じて呼び出し元に返されます。 各オブジェクトが到着したときにそれを処理するには、objWbemSink.OnObjectReady イベント サブルーチンを作成します。 すべてのオブジェクトが返されたら、objWbemSink.OnCompleted イベントの実装で最終的な処理を実行できます。
非同期コールバックを使用すると、認証されていないユーザーがシンクにデータを提供できます。 これにより、スクリプトとアプリケーションにセキュリティ リスクが発生します。 リスクを排除するには、半同期通信と同期通信のいずれかを使用します。 詳細については、メソッドの呼び出しに関するページを参照してください。
ASSOCIATORS OF の関連付けられた WQL クエリ 、ソース インスタンス、エンドポイントの詳細については、「ASSOCIATORS OF ステートメント」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
Header |
|
タイプ ライブラリ |
|
[DLL] |
|
CLSID |
CLSID_SWbemObject |
IID |
IID_ISWbemObject |