ISWbemSink::Cancel メソッド
SWbemSink オブジェクトの Cancel メソッドでは、このオブジェクト シンクに関連する未処理の非同期操作をすべて取り消します。
この構文の説明については、「スクリプト API のドキュメントの表記規則」を参照してください。
構文
SWbemSink.Cancel()
パラメーター
このメソッドにはパラメーターはありません。
戻り値
このメソッドは値を返しません。
エラー コード
Cancel メソッドが完了すると、Err オブジェクトに次のいずれかのエラー コードが含まれる場合があります。
-
wbemErrFailed - 2147749889 (0x80041001)
-
未定義のエラーが発生しました。
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
操作を完了させるための十分なメモリがありません。
-
wbemErrTransportFailure - 2147749909 (0x80041015)
-
ネットワーク エラーが発生して、通常の操作が妨げられていました。
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
現在の、または指定されたユーザー名とパスワードが無効であるか、接続を確立する権限がありません。
解説
非同期呼び出しのいずれか 1 つだけを取り消すことはできません。 このメソッドでは、このオブジェクト シンクを使用する複数の非同期呼び出しが保留中の場合、このオブジェクト シンクを使用してすべての非同期呼び出しが取り消されます。 他のオブジェクト シンクに関連する非同期呼び出しは引き続き影響を受けません。
このシンクを Nothing に割り当てて、非同期操作を取り消すことはできません。 WMI が操作を中止し、関連するリソースを解放するには、Cancel メソッドを呼び出す必要があります。 これは、長い非同期操作 (クエリなど)、または完了しない操作 ( ExecNotificationQueryAsync など) では非常に重要です。
注意
非同期コールバックを使用すると、認証されていないユーザーがシンクにデータを提供できます。 これにより、スクリプトとアプリケーションにセキュリティ リスクが発生します。 リスクを排除するには、半同期または同期通信を使用します。 詳細については、メソッドの呼び出しに関するページを参照してください。
次の例では、非同期呼び出しを取り消す方法を示しています。
objwbemsink.Cancel()
set objwbemsink= Nothing
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
Header |
|
IDL |
|
[DLL] |
|
CLSID |
CLSID_SWbemSink |
IID |
IID_ISWbemSink |