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_ERRORppCallResult 参数接收指向新的 IWbemCallResult 对象的指针,然后可以使用 GetCallStatus 方法轮询该对象以获取结果。

返回值

此方法返回指示方法调用状态的 HRESULT。 以下列表列出了 HRESULT 中包含的值。

如果失败,可以从 COM 函数 GetErrorInfo 获取任何可用信息。

如果网络问题导致你失去与 Windows 管理的远程连接,也可能会返回特定于 COM 的错误代码。

注解

调用 IWbemServices::D eleteInstance 方法以删除当前命名空间中的现有实例。 无法删除其他命名空间中的实例。 调用 DeleteInstance 以删除属于层次结构中某个类的实例时,Windows 管理会为层次结构中负责非抽象类的所有提供程序调用 DeleteInstanceAsync 方法。 也就是说,如果 strObjectPath 参数标识 ClassB 的实例,而 ClassB 派生自 ClassA(一个非抽象类),并且是 ClassC 和 ClassD(也是非抽象类)的父类,则调用所有四个类的提供程序。

Windows 管理使用修改为指向其类的对象路径调用每个提供程序。 例如,如果原始调用的 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

检索错误代码