SWbemServices.DeleteAsync 方法

SWbemServices 对象的 DeleteAsync 方法删除在对象路径中指定的类或实例。 调用 DeleteAsync 会立即返回,结果和状态会通过传送到 objWbemSink 中指定的接收器的事件返回给调用方。 有关创建接收器的详细信息,请参阅接收 WMI 事件。 只能删除所连接的命名空间中的对象。

如果动态提供程序提供类或实例,那么除非提供程序支持删除类或实例,否则有时会无法删除此对象。

此方法在异步模式下调用。 有关详细信息,请参阅调用方法

有关此语法的说明,请参阅脚本 API 的文档约定

语法

SWbemServices.DeleteAsync( _
  [ ByVal ObjWbemSink ], _
  ByVal strObjectPath, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

parameters

objWbemSink [可选]

接收删除结果的对象接收器。 创建 SWbemSink 对象来接收对象。

strObjectPath

必需。 包含要删除的对象的对象路径的字符串。 有关详细信息,请参阅描述 WMI 对象的位置

iFlags [可选]

确定是否返回状态更新。 此参数可以接受以下值。

wbemFlagSendStatus (128 (0x80))

使异步调用将状态更新发送到对象接收器的 OnProgress 事件处理程序。

wbemFlagDontSendStatus (0 (0x0))

防止异步调用将状态更新发送到对象接收器的 OnProgress 事件处理程序。

objWbemNamedValueSet [optional]

通常,此参数未定义。 如果已定义,此参数是一个 SWbemNamedValueSet 对象,其元素表示可供提供请求服务的提供程序使用的上下文信息。 支持或需要此类信息的提供程序必须记录已识别的值名称、值数据类型、允许的值和语义。

objWbemAsyncContext [optional]

这是一个 SWbemNamedValueSet 对象,它返回到对象接收器以确定原始异步调用的源。 如果使用同一对象接收器进行多个异步调用,请使用此参数。 若要使用此参数,请创建 SWbemNamedValueSet 对象,并使用 SWbemNamedValueSet.Add 方法添加值,该值标识即将进行的异步调用。 此 SWbemNamedValueSet 对象返回到对象接收器,并且调用的源可使用 SWbemNamedValueSet.Item 方法提取。 有关详细信息,请参阅调用方法

返回值

此方法不返回值。 如果调用成功,则对象接收器将收到删除通知。

错误代码

DeleteAsync_ 方法完成后,Err 对象可能包含以下列表中的错误代码之一

wbemErrFailed - 2147749889 (0x80041001)

错误。

wbemErrInvalidParameter - 2147749896 (0x80041008)

指定的参数无效。

wbemErrOutOfMemory - 2147749894 (0x80041006)

内存不足,无法完成此操作。

wbemErrTransportFailure - 2147749909 (0x80041015)

出现网络错误,无法正常操作。

wbemErrAccessDenied - 2147749891 (0x80041003)

当前或指定的用户名和密码无效或无权建立连接。

wbemErrNotFound - 2147749890 (0x80041002)

找不到请求的项。

备注

立即返回此调用。 删除操作的状态通过回调返回到调用方,该回调传递到 objWbemSink 中的指定接收器。 可在 objWbemSink.OnCompleted 事件的实现中执行最终处理。

使用异步回调时,未经身份验证的用户可以向接收器提供数据。 这会给脚本和应用程序带来安全风险。 要消除这些风险,请参阅设置异步调用的安全性

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
标头
Wbemdisp.h
类型库
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

另请参阅

SWbemServices

SWbemObjectPath