IWbemServices::D eleteInstanceAsync 方法 (wbemcli.h)

IWbemServices::D eleteInstanceAsync 方法异步删除当前命名空间中现有类的实例。 操作的确认或失败通过调用方实现的 IWbemObjectSink 接口进行报告。

语法

HRESULT DeleteInstanceAsync(
  [in] const BSTR      strObjectPath,
  [in] long            lFlags,
  [in] IWbemContext    *pCtx,
  [in] IWbemObjectSink *pResponseHandler
);

参数

[in] strObjectPath

包含要删除的对象的对象路径的有效 BSTR

[in] lFlags

WBEM_FLAG_SEND_STATUS 向 Windows 管理注册请求,以通过客户端实现 IWbemObjectSink::SetStatus 接收中间状态报告。 提供程序实现必须支持中间状态报告,以便此标志更改行为。 请注意,此处不能使用 WBEM_FLAG_USE_AMENDED_QUALIFIERS 标志。

[in] pCtx

通常 为 NULL。 否则,这是指向 IWbemContext 对象的指针,该对象可能由正在删除实例的提供程序使用。 上下文对象中的值必须在相关提供程序的文档中指定。

[in] pResponseHandler

指向 调用方 IWbemObjectSink 实现的指针。 此处理程序接收删除操作的状态,因为它通过 SetStatus 方法变得可用。 如果返回任何错误代码,则不使用提供的 IWbemObjectSink 指针。 如果返回 WBEM_S_NO_ERROR ,则调用用户的 IWbemObjectSink 实现来指示操作的结果。 Windows 管理仅在返回WBEM_S_NO_ERROR时对指针调用 AddRef。 在错误代码返回的情况下,引用计数与输入时相同。 有关详细信息,请参阅调用方法

返回值

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

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

如果 DeleteInstanceAsync 返回 WBEM_S_NO_ERROR,则 WMI 将等待响应处理程序的 SetStatus 方法的结果。 WMI 无限期地等待本地连接,或直到远程连接超时。

其他错误条件以异步方式报告给 pResponseHandler 参数提供的对象接收器。

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

注意 调用 DeleteInstanceAsync 的客户端必须始终期望使用其 IWbemObjectSink::Indicate 方法报告调用结果。
 
注意strObjectPath 指向的实例属于属于类层次结构的成员的类时, DeleteInstanceAsync 的成功取决于最顶层的非抽象提供程序。 有关确定此操作是否成功的所涉及的依赖项的详细说明,请参阅 IWbemServices::D eleteInstance 中的备注。
 

注解

实例提供程序可以使用 DeleteInstanceAsync 中的返回代码或通过 pResponseHandler 调用 SetStatus 来报告成功或失败。 如果发送到 SetStatus,则通过 pResponseHandler 发送到接收器的返回代码优先。 由于回调可能不会在客户端要求的相同身份验证级别返回,因此建议使用半同步通信而不是异步通信。 如果需要异步通信,请参阅 调用方法

有关以半同步方式使用方法的详细信息,请参阅 IWbemServices::D eleteInstance调用方法

要求

   
最低受支持的客户端 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

另请参阅

调用方法

描述实例对象路径

IWbemServices

IWbemServices::DeleteInstance