ISWbemSink::Cancel 方法

SWbemSink 对象的 Cancel 方法取消与此对象接收器关联的所有未完成的异步操作。

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

语法

SWbemSink.Cancel()

参数

此方法没有任何参数。

返回值

此方法不返回值。

错误代码

完成 Cancel 方法后,Err 对象可能包含下面的错误代码之一。

wbemErrFailed - 2147749889 (0x80041001)

错误。

wbemErrOutOfMemory - 2147749894 (0x80041006)

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

wbemErrTransportFailure - 2147749909 (0x80041015)

出现网络错误,防止正常操作。

wbemErrAccessDenied - 2147749891 (0x80041003)

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

注解

不能仅取消一个异步调用。 如果多个异步调用等待使用此对象接收器,则此方法会取消使用此对象接收器的所有异步调用。 与其他对象接收器关联的异步调用继续不受影响。

无法将此接收器分配给 Nothing 以取消异步操作。 必须调用 Cancel 方法以使 WMI 停止操作并释放关联的资源。 对于冗长的异步操作(如查询或从未完成的操作),例如 ExecNotificationQueryAsync,这非常重要。

注意

异步回调允许未经身份验证的用户向接收器提供数据。 这会给脚本和应用程序带来安全风险。 若要消除风险,请使用半异步或同步通信。 有关详细信息,请参阅 调用方法

以下示例演示如何取消异步调用。

objwbemsink.Cancel()
set objwbemsink= Nothing

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
标头
Wbemdisp.h
IDL
Wbemdisp.idl
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemSink
IID
IID_ISWbemSink

另请参阅

SWbemSink