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 が階層内で唯一の抽象クラスであり、DeleteInstancestrObjectPath パラメーターが ClassB のインスタンスを指している場合、ClassA のプロバイダーのみが DeleteInstanceAsync 呼び出しで成功する必要があります。

ClassX、ClassA、ClassB がすべて抽象であり、DeleteInstancestrObjectPath パラメーターが 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

エラー コードの取得