SWbemServices.DeleteAsync メソッド
SWbemServices オブジェクトの DeleteAsync メソッドは、オブジェクト パスで指定されたクラスまたはインスタンスを削除します。 DeleteAsync への呼び出しはすぐに返され、結果と状態は、objWbemSink で指定されたシンクに配信されるイベントを介して呼び出し元に返されます。 シンクの作成について詳しくは、「WMI イベントの受信」を参照してください。 削除できるのは、接続されている名前空間内のオブジェクトのみです。
動的プロバイダーがクラスまたはインスタンスを提供する場合、そのプロバイダーがクラスまたはインスタンスの削除をサポートしていない限り、このオブジェクトを削除できないことがあります。
このメソッドは、非同期モードで呼び出されます。 詳細については、「メソッドの呼び出し」を参照してください。
この構文の説明については、「スクリプト API のドキュメント規則」を参照してください。
構文
SWbemServices.DeleteAsync( _
[ ByVal ObjWbemSink ], _
ByVal strObjectPath, _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ], _
[ ByVal objWbemAsyncContext ] _
)
パラメーター
-
ObjWbemSink [省略可能]
-
削除の結果を受け取るオブジェクト シンク。 オブジェクトを受信する SWbemSink オブジェクトを作成します。
-
strObjectPath
-
必須。 削除するオブジェクトへのオブジェクト パスを含む文字列。 詳細については、「WMI オブジェクトの場所を説明する」を参照してください。
-
iFlags [省略可能]
-
状態の更新が返されるかどうかを決定します。 このパラメーターには次の値を指定することができます。
-
wbemFlagSendStatus (128 (0x80))
-
非同期呼び出しで、オブジェクト シンクの OnProgress イベント ハンドラーに状態更新を送信します。
-
wbemFlagDontSendStatus (0 (0x0))
-
非同期呼び出しで、オブジェクト シンクの OnProgress イベント ハンドラーに状態更新を送信しません。
objWbemNamedValueSet [オプション]
通常、これは未定義です。 そうでない場合、これは SWbemNamedValueSet オブジェクトであり、その要素は、要求を処理しているプロバイダーが使用できるコンテキスト情報を表します。 このような情報をサポートする、または必要とするプロバイダーは、認識された値名、値のデータ型、許可された値、セマンティクスを文書化する必要があります。
objWbemAsyncContext [オプション]
SWbemNamedValueSet オブジェクトであり、元の非同期呼び出しのソースを識別するためにオブジェクト シンクに返されます。 同じオブジェクト シンクを使用して複数の非同期呼び出しを実行している場合は、このパラメーターを使用します。 このパラメータを使用するには、SWbemNamedValueSet オブジェクトを作成し、SWbemNamedValueSet.Add メソッドを使用して、実行する非同期呼び出しを識別する値を追加します。 この SWbemNamedValueSet オブジェクトはオブジェクト シンクに返され、呼び出しのソースは SWbemNamedValueSet.Item メソッドを使用して抽出できます。 詳細については、「メソッドの呼び出し」を参照してください。
戻り値
このメソッドは値を返しません。 呼び出しが成功した場合は、オブジェクト シンクが削除の通知を受け取ります。
エラー コード
DeleteAsync メソッドの完了後に、Err オブジェクトに次のリストのいずれかのエラー コードが含まれる場合があります。
-
wbemErrFailed - 2147749889 (0x80041001)
-
未定義のエラーが発生しました。
-
wbemErrInvalidParameter - 2147749896 (0x80041008)
-
無効なパラメーターが指定されました。
-
wbemErrOutOfMemory - 2147749894 (0x80041006)
-
操作を完了させるための十分なメモリがありません。
-
wbemErrTransportFailure - 2147749909 (0x80041015)
-
ネットワーク エラーが発生して、通常の操作が妨げられていました。
-
wbemErrAccessDenied - 2147749891 (0x80041003)
-
現在の、または指定されたユーザー名とパスワードが無効であるか、接続を確立する権限がありません。
-
wbemErrNotFound - 2147749890 (0x80041002)
-
要求された項目が見つかりませんでした。
解説
この呼び出しは直ちに返されます。 削除操作の状態は、objWbemSink で指定されたシンクに配信されるコールバックを介して呼び出し元に返されます。 objWbemSink.OnCompleted イベントの実装で、最終的な処理を実行することもできます。
非同期コールバックを使用すると、認証されていないユーザーがシンクにデータを提供できます。 これにより、スクリプトとアプリケーションにセキュリティ リスクが発生します。 リスクを排除するには、「非同期呼び出しでのセキュリティの設定」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
Header |
|
タイプ ライブラリ |
|
[DLL] |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |