ISWbemSinkEvents::OnObjectReady イベント
SWbemSink オブジェクトの OnObjectReady イベントは、非同期操作からオブジェクトが返されたときにトリガーされます。 このイベントは、SWbemObject.InstancesAsync_ や SWbemServices.ExecQueryAsync などの非同期呼び出しからオブジェクトを処理するために使用します。 OnObjectReady では、列挙が完了するまで毎回 1 つの SWbemObject を返します。
この構文の説明については、「スクリプト API でのドキュメントの表記規則」を参照してください。
構文
SWbemSink.OnObjectReady( _
ByVal objWbemObject, _
ByVal objWbemAsyncContext _
)
パラメーター
-
objWbemObject
-
SWbemObject オブジェクト。 これは、このイベントをトリガーする非同期呼び出しに相当する同期呼び出しによって返されるものと似ています。 たとえば、SWbemServices.GetAsync メソッドを呼び出すと、元の呼び出しの objWbemObject パラメーターとして渡される SWbemSink オブジェクトの OnObjectReady イベントの objWbemObject パラメーターで、SWbemObject が返されます。 SWbemServices.Get に対する同等の同期呼び出しを使用して、同じ SWbemObject オブジェクトを取得できます。
-
objWbemAsyncContext
-
元の非同期呼び出しに渡される SWbemNamedValueSet オブジェクト。 このパラメーターは、このオブジェクト シンクを使用して複数の非同期呼び出しが行われたときにこのイベントをトリガーする、非同期呼び出しの開始元を識別するために使用します。
戻り値
このイベントでは値は返されません。
エラー コード
OnObjectReady イベントの完了後、Err オブジェクトに下記のいずれかのエラー コードが格納されている場合があります。
-
wbemErrFailed - 2147749889 (0x80041001)
-
未定義のエラーが発生しました。
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
操作を完了させるための十分なメモリがありません。
-
wbemErrTransportFailure - 2147749909 (0x80041015)
-
ネットワーク エラーが発生して、通常の操作が妨げられていました。
解説
非同期コールバックを使用すると、認証されていないユーザーがシンクにデータを提供できます。 これは、スクリプトとアプリケーションに対するセキュリティ リスクとなります。 リスクをなくすには、半同期通信または同期通信のいずれかを使用します。 詳細については、メソッドの呼び出しに関するページを参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
Header |
|
IDL |
|
[DLL] |
|
CLSID |
CLSID_SWbemSink |
IID |
IID_ISWbemSinkEvents |