CoTestCancel 函数 (combaseapi.h)
确定客户端是否已取消在服务器上执行的调用。
语法
HRESULT CoTestCancel();
返回值
此函数可以返回标准返回值E_FAIL、E_INVALIDARG、E_OUTOFMEMORY和E_UNEXPECTED,以及以下值。
返回代码 | 说明 |
---|---|
|
调用仍处于挂起状态,客户端尚未取消。 |
|
客户端已取消调用。 |
注解
服务器对象在返回以检测客户端取消请求之前应至少调用 CoTestCancel 一次。 如果客户端发出了取消请求,则这样做可以节省服务器不必要的工作;如果客户端已将取消超时设置为RPC_C_CANCEL_INFINITE_TIMEOUT,则它可以缩短客户端的等待时间。 此外,如果服务器对象在从挂起的调用返回之前检测到取消请求,它可以清理任何内存、封送接口或处理它已创建或获取的处理。
CoTestCancel 调用 CoGetCallContext 以获取当前取消对象上的 ICancelMethodCalls 接口,然后调用 ICancelMethodCalls::TestCancel。 实现自定义封送处理的对象应首先调用 CoSwitchCallContext 来安装相应的调用上下文对象。
此函数不会测试异步调用的取消。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | combaseapi.h (包括 Objbase.h) |
Library | Ole32.lib |
DLL | Ole32.dll |