SWbemServices.SubclassesOfAsync メソッド

SWbemServices オブジェクトの SubclassesOfAsync メソッドは、指定したクラスのサブクラスのコレクションを返します。 このメソッドは、クラス オブジェクトに対してのみ使用します。

このメソッドは、非同期モードで呼び出されます。 詳細については、「メソッドの呼び出し」を参照してください。

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

構文

SWbemServices.SubclassesOfAsync( _
  ByVal ObjWbemSink, _
  [ ByVal strSuperclass ], _
  [ ByVal iFlags ], _
  [ ByVal objwbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

パラメーター

ObjWbemSink

必須。 サブクラスを非同期的に受け取るオブジェクト シンク。 オブジェクトを受け取る SWbemSink オブジェクトを作成します。

strSuperclass [オプション]

親クラス名を指定します。 このクラスのサブクラスであるクラスのみが列挙子で返されます。 このパラメータが空白である場合、かつ iFlagswbemQueryFlagShallow である場合は、最上位クラス (つまり、親クラスを持たないクラス) のみが返されます。 このパラメータが空白である場合、かつ iFlagswbemQueryFlagDeep である場合、名前空間内のすべてのクラスが返されます。

iFlags [オプション]

呼び出し列挙の深さを決定します。 このパラメータの既定値は wbemQueryFlagDeep です。 このパラメーターには次の値を指定できます。

wbemQueryFlagShallow (1 (0x1))

指定した親クラスの直接サブクラスのみが強制的に列挙に含まれます。

wbemQueryFlagDeep (0 (0x0))

このパラメータの既定値。 この値は、指定した親クラスから派生したすべてのサブクラスに対して再帰的列挙を強制します。 親クラスは、列挙型で返されません。

wbemFlagSendStatus (128 (0x80))

非同期呼び出しで、オブジェクト シンクの OnProgress イベント ハンドラーに状態更新を送信します。

wbemFlagDontSendStatus (0 (0x0))

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

wbemFlagUseAmendedQualifiers (131072 (0x20000))

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

objwbemNamedValueSet [オプション]

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

objWbemAsyncContext [オプション]

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

戻り値

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

エラー コード

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

注意

要素を含まないコレクションが返されても、エラーではありません。

wbemErrAccessDenied - 2147749891 (0x80041003)

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

wbemErrFailed - 2147749889 (0x80041001)

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

wbemErrInvalidClass - 2147749904 (0x80041010)

指定されたクラスが存在しません。

wbemErrInvalidParameter - 2147749896 (0x80041008)

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

wbemErrOutOfMemory - 2147749894 (0x80041006)

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

解説

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

非同期コールバックを使用すると、認証されていないユーザーがシンクにデータを提供できます。 これにより、スクリプトとアプリケーションにセキュリティ リスクが発生します。 リスクを排除するには、「非同期呼び出しでのセキュリティの設定」を参照してください。

要件

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

関連項目

SWbemServices

SWbemObjectSet