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

IWbemServices::D eleteClassAsync 方法从当前命名空间中删除指定的类。 此方法与 IWbemServices::D eleteClass 相同,只不过调用会立即返回。 操作完成后,使用 IWbemObjectSink::SetStatus 方法向指定的对象接收器异步报告确认或失败。

语法

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

参数

[in] strClass

要删除的类的名称。

[in] lFlags

以下一个或多个值有效。

WBEM_FLAG_SEND_STATUS

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

WBEM_FLAG_OWNER_UPDATE

在调用 DeleteClassAsync 时,推送提供程序必须指定此标志,以指示此类已更改。

[in] pCtx

通常 为 NULL。 否则,这是指向 IWbemContext 对象的指针,该对象可由删除类的提供程序使用。 上下文对象中的值必须在相关提供程序的文档中指定。 有关此参数的详细信息,请参阅 调用 WMI

[in] pResponseHandler

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

返回值

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

所有其他返回代码通过 SetStatus 方法提供给 pReponseHandler 参数指定的对象接收器。 错误条件(例如,类不存在或用户没有删除类的权限)会报告给处理程序。 此方法的返回代码中不会报告它们。

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

注解

如果动态实例提供程序与 类相关联,则会取消注册该提供程序,并且不再为该类调用该提供程序。 从已删除的类派生的任何类也会被删除,并且其关联的提供程序将取消注册。 删除指定类及其子类的所有未完成静态实例也会被删除。

如果类由动态类提供程序提供,则删除是否成功取决于该提供程序是否支持类删除。

注意 无法删除标准系统类。
 
由于回调可能不会在客户端要求的相同身份验证级别返回,因此建议使用半同步通信而不是异步通信。 如果需要异步通信,请参阅 调用方法

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

要求

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

检索错误代码