勇芳软件工作室.汉化:  Windows Management Instrumentation > COM API for WMI > Interfaces > IWbemServices >

DeleteClassAsync Method

Previous pageReturn to chapter overviewNext page

描述

 

IWbemServices.DeleteClassAsync方法从当前命名空间中删除指定的类。此方法与IWbemServices.DeleteClass相同,只是该调用立即返回。操作完成后,使用IWbemObjectSink.SetStatus方法将确认或失败异步报告给指定的对象接收器。

 

C++ 语法

 

HRESULT DeleteClassAsync(

[in]  const BSTR strClass,

[in]  LONG lFlags,

[in]  IWbemContext *pCtx,

[in]  IWbemObjectSink *pResponseHandler

);

 

PowerBASIC 语法

 

METHOD DeleteClassAsync ( _

BYVAL strClass AS DWORD, _

BYVAL lFlags AS LONG, _

BYVAL pCtx AS IWbemContext, _

BYREF pResponseHandler AS IWbemObjectSink _

) AS LONG

 

参数

 

strClass

 

目标删除类别的名称。

 

lFlags

 

可以设置以下值之一。

 

含义

WBEM_FLAG_SEND_STATUS

该标志通过客户端实施IWbemObjectSink.SetStatus向Windows Management注册接收中间状态报告的请求。提供商实施必须支持中间状态报告,为此标志改变行为。

WBEM_FLAG_OWNER_UPDATE

调用DeleteClassAsync表示此类已更改时,推送提供者必须指定此标志。

 

pCtx

 

通常为NULL。否则,这是指向可以由提供者提供请求的实例的IWbemContext对象的指针。必须在相关提供者的文档中指定上下文对象中的值。

 

pResponseHandler

 

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

 

返回值

 

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

 

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

 

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

 

退货代码

描述

WBEM_E_FAILED

这表示其他未指定的错误。

WBEM_E_INVALID_PARAMETER

指定了无效参数。

WBEM_E_CLASS_HAS_CHILDREN

删除此类将使一个子类失效。

WBEM_E_OUT_OF_MEMORY

没有足够的内存来完成操作。

WBEM_E_SHUTTING_DOWN

Windows管理服务可能已停止并重新启动。需要新的电话ConnectServer.

WBEM_E_TRANSPORT_FAILURE

这表示当前进程和Windows Management之间的远程过程调用(RPC)链接失败。

WBEM_S_NO_ERROR

通话成功。

 

备注

 

如果动态实例提供程序与该类相关联,则提供程序将被注销,并且不再为该类别调用。从删除的类派生的任何类也被删除,并且它们的关联提供者变得未注册。当类被删除时,指定类及其子类的所有未完成的静态实例也将被删除。

 

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

 

注意无法删除标准系统类。

 

因为回调可能不会以与客户端所需的相同的身份验证级别返回,所以建议您使用半异步而不是异步通信。如果需要异步通信,请参阅调用方法.

 

有关半同步使用方法的更多信息,请参阅IWbemServices.DeleteClass调用方法.

 

要求

 

客户

需要Windows Vista,Windows XP,Windows 2000 Professional,Windows NT Workstation 4.0 SP4及更高版本,Windows Me,Windows 98或Windows 95。

服务器

需要Windows Server 2008,Windows Server 2003,Windows 2000 Server或Windows NT Server 4.0 SP4及更高版本。

在Wbemcli.inc中声明。

DLL

需要Fastprox.dll。

需要Esscli.dll。

需要Framedyn.dll。

需要Ntevt.dll。

需要Stdprov.dll。

需要Viewprov.dll。

需要Wbemcomn.dll。

需要Wbemcore.dll。

需要Wbemess.dll。

需要Wbemsvc.dll。

需要Wmipicmp.dll。

需要Wmidcprv.dll。

需要Wmipjobj.dll。

需要Wmiprvsd.dll。