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

IWbemServices::D eleteInstance メソッドは、現在の名前空間内の既存のクラスのインスタンスを削除します。

構文

HRESULT DeleteInstance(
  [in]  const BSTR      strObjectPath,
  [in]  long            lFlags,
  [in]  IWbemContext    *pCtx,
  [out] IWbemCallResult **ppCallResult
);

パラメーター

[in] strObjectPath

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

[in] lFlags

次のいずれかの値が有効です。

WBEM_FLAG_RETURN_IMMEDIATELY

このフラグにより、これは半同期呼び出しになります。 詳細については、「メソッドの呼び出し」を参照してください。

[in] pCtx

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

[out] ppCallResult

NULL の場合、このパラメーターは使用されません。 ppCallResult を指定する場合は、エントリで NULL をポイントするように設定する必要があります。 lFlags パラメーターにWBEM_FLAG_RETURN_IMMEDIATELYが含まれている場合、この呼び出しはWBEM_S_NO_ERRORを使用して直ちにを返します。 ppCallResult パラメーターは、新しい IWbemCallResult オブジェクトへのポインターを受け取り、GetCallStatus メソッドを使用して結果を取得するためにポーリングできます。

戻り値

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

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

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

注釈

現在の名前空間内の既存のインスタンスを削除するには、 IWbemServices::D eleteInstance メソッドが呼び出されます。 他の名前空間内のインスタンスは削除できません。 階層内のクラスに属するインスタンスを削除するために DeleteInstance が呼び出されると、Windows Management は、階層内の非抽象クラスを担当するすべてのプロバイダーに対して DeleteInstanceAsync メソッドを呼び出します。 つまり、 strObjectPath パラメーターが ClassB のインスタンスを識別し、ClassB が抽象クラス以外のクラスである ClassA から派生し、ClassC と ClassD の親クラスであり、非抽象クラスである場合は、4 つのクラスすべてに対するプロバイダーが呼び出されます。

Windows Management は、クラスを指すために変更されたオブジェクト パスを使用して各プロバイダーを呼び出します。 たとえば、元の呼び出しの strObjectPath が "ClassB.k=1" に設定されている場合、ClassA のプロバイダーを呼び出すと 、strObjectPath は "ClassA.k=1" に設定されます。

DeleteInstance 呼び出しの成功は、最上位の非抽象クラスのプロバイダーに対する DeleteInstanceAsync 呼び出しの成功のみに依存します。 抽象クラス以外のクラスには、親として抽象クラスがあります。 このようなクラスのいずれかのプロバイダーが成功した場合、操作は成功します。このようなクラスがすべて失敗した場合、操作は失敗します。

たとえば、ClassX が次の階層の基底クラスであるとします。

  1. ClassA は ClassX から派生します。
  2. ClassB は ClassA から派生します。
  3. ClassC と ClassD は ClassB から派生します。
ClassX が階層内で唯一の抽象クラスであり、DeleteInstance の strObjectPath パラメーターが ClassB のインスタンスを指している場合、ClassA のプロバイダーのみが DeleteInstanceAsync 呼び出しで成功する必要があります。

ClassX、ClassA、ClassB がすべて抽象であり、DeleteInstance の strObjectPath パラメーターが ClassB のインスタンスを再度指している場合は、ClassC のプロバイダーまたは ClassD のプロバイダーが成功する必要があります。

要件

要件 値
サポートされている最小のクライアント 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

こちらもご覧ください

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

IWbemCallResult

IWbemServices

IWbemServices::D eleteInstanceAsync

エラー コードの取得