次の方法で共有


ISWbemSinkEvents::OnCompleted イベント

非同期呼び出しが完了すると、SWbemSink オブジェクトの OnCompleted イベントがトリガーされます。 このイベントは、非同期操作の結果をクライアント アプリケーションに示し、非同期呼び出しが失敗したときにエラー情報を提供します。

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

構文

SWbemSink.OnCompleted( _
  ByVal iHResult, _
  ByVal objWbemErrorObject, _
  ByVal objWbemAsyncContext _
)

パラメーター

iHResult

完了した非同期メソッドの HRESULT。 HRESULT は、同等の WMI 用の COM API メソッド呼び出しから返される値と同じです。 非同期呼び出しが成功したかどうかを判断するには、この値を確認します。 非同期呼び出しが成功した場合、このパラメーターには WBEM_S_NO_ERROR (0) が含まれます。 非同期呼び出しが失敗した場合、このパラメーターにはエラー コードが含まれます。

objWbemErrorObject

非同期メソッドが失敗した場合に SWbemLastError オブジェクトを格納します。

objWbemAsyncContext

これは、元の非同期呼び出しに渡される SWbemNamedValueSet オブジェクトです。 このパラメーターは、このオブジェクト シンクを使用して複数の非同期呼び出しが行われたときにこのイベントをトリガーする、非同期呼び出しの開始元を識別するために使用します。

戻り値

このイベントでは値は返されません。

エラー コード

OnCompleted イベントの完了後、Err オブジェクトに下記のいずれかのエラー コードが格納されている場合があります。

wbemErrFailed - 2147749889 (0x80041001)

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

wbemErrOutOfMemory - 2147749894 (0x80041006)

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

wbemErrTransportFailure - 2147749909 (0x80041015)

ネットワーク エラーが発生して、通常の操作が妨げられていました。

解説

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

要件

要件
サポートされている最小のクライアント
Windows Vista
サポートされている最小のサーバー
Windows Server 2008
Header
Wbemdisp.h
IDL
Wbemdisp.idl
[DLL]
Wbemdisp.dll
CLSID
CLSID_SWbemSink
IID
IID_ISWbemSinkEvents