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 |
标头 |
|
类型库 |
|
DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |