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 管理的远程连接,也可能会返回特定于 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

检索错误代码