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 が次の階層の基底クラスであるとします。
- ClassA は ClassX から派生します。
- ClassB は ClassA から派生します。
- ClassC と ClassD は ClassB から派生します。
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 |