IWbemServices::D eleteInstanceAsync メソッド (wbemcli.h)

IWbemServices::D eleteInstanceAsync メソッドは、現在の名前空間内の既存のクラスのインスタンスを非同期的に削除します。 操作の確認または失敗は、呼び出し元によって実装された IWbemObjectSink インターフェイスを介して報告されます。

構文

HRESULT DeleteInstanceAsync(
  [in] const BSTR      strObjectPath,
  [in] long            lFlags,
  [in] IWbemContext    *pCtx,
  [in] IWbemObjectSink *pResponseHandler
);

パラメーター

[in] strObjectPath

削除するオブジェクトのオブジェクト パスを含む有効な BSTR

[in] lFlags

WBEM_FLAG_SEND_STATUS は、クライアントによる IWbemObjectSink::SetStatus の実装を通じて中間状態レポートを受信する要求を Windows Management に登録します。 プロバイダーの実装では、このフラグが動作を変更するために、中間状態レポートをサポートする必要があります。 ここでは、WBEM_FLAG_USE_AMENDED_QUALIFIERS フラグを使用できないことに注意してください。

[in] pCtx

通常 は NULL です。 それ以外の場合は、インスタンスを削除しているプロバイダーが使用できる IWbemContext オブジェクトへのポインターです。 コンテキスト オブジェクトの値は、該当するプロバイダーのドキュメントで指定する必要があります。

[in] pResponseHandler

IWbemObjectSink の呼び出し元の実装へのポインター。 このハンドラーは、 SetStatus メソッドを使用できるようになると、削除操作の状態を受け取ります。 エラー コードが返された場合、指定された IWbemObjectSink ポインターは使用されません。 WBEM_S_NO_ERRORが返された場合、操作の結果を示すためにユーザーの IWbemObjectSink 実装が呼び出されます。 Windows Management は、WBEM_S_NO_ERRORが返された場合にのみ、ポインターに 対して AddRef 呼び出します。 エラー コードが返された場合、参照カウントは入力時と同じです。 詳細については、「メソッドの呼び出し」を参照してください。

戻り値

このメソッドは、メソッド呼び出しの状態を示す HRESULT を返します。 次の一覧は、 HRESULT に含まれる値の一覧です。

失敗した場合は、COM 関数 GetErrorInfo から使用可能な情報を取得できます。

DeleteInstanceAsync から WBEM_S_NO_ERRORが返された場合、WMI は応答ハンドラーの SetStatus メソッドからの結果を待機します。 WMI は、ローカル接続で無期限に待機するか、リモート接続のタイムアウトが発生するまで待機します。

その他のエラー状態は、 pResponseHandler パラメーターによって提供されるオブジェクト シンクに非同期的に報告されます。

ネットワークの問題によって Windows Management へのリモート接続が失われると、COM 固有のエラー コードも返される可能性があります。

メモDeleteInstanceAsync を呼び出すクライアントは、IWbemObjectSink::Indicate メソッドを使用して、呼び出しの結果が常に報告されることを期待する必要があります。
 
メモstrObjectPath が指すインスタンスがクラス階層のメンバーであるクラスに属している場合、DeleteInstanceAsync の成功は、最上位の非抽象プロバイダーに依存します。 この操作の成功を決定する依存関係の詳細については、「 IWbemServices::D eleteInstance の解説」を参照してください。
 

解説

インスタンス プロバイダーは、DeleteInstanceAsync からのリターン コード、または pResponseHandler を介して行われた SetStatus の呼び出しを使用して、成功または失敗を報告できます。 SetStatus に送信された場合、pResponseHandler を介してシンクに送信されるリターン コードが優先されます。 コールバックはクライアントが必要とするのと同じ認証レベルでは返されない可能性があるため、非同期通信の代わりに半同期を使用することをお勧めします。 非同期通信が必要な場合は、「 メソッドの呼び出し」を参照してください。

メソッドを半同期的に使用する方法の詳細については、「 IWbemServices::D eleteInstance 」および 「メソッドの呼び出し」を参照してください。

要件

   
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー wbemcli.h (Wbemidl.h を含む)
Library Wbemuuid.lib
[DLL] Fastprox.dll;Esscli.dll;FrameDyn.dll。FrameDynOS.dll;Ntevt.dll;Stdprov.dll;Viewprov.dll;Wbemcomn.dll;Wbemcore.dll;Wbemess.dll;Wbemsvc.dll;Wmipicmp.dll;Wmidcprv.dll;Wmipjobj.dll;Wmiprvsd.dll

関連項目

メソッドの呼び出し

インスタンス オブジェクト パスの記述

IWbemServices

IWbemServices::DeleteInstance