CoCancelCall 函数 (combaseapi.h)

请求取消在指定线程上挂起的出站 DCOM 方法调用。

语法

HRESULT CoCancelCall(
  [in] DWORD dwThreadId,
  [in] ULONG ulTimeout
);

参数

[in] dwThreadId

要取消挂起的 DCOM 调用的线程的标识符。 如果此参数为 0,则调用位于当前线程上。

[in] ulTimeout

客户端请求取消后 ,CoCancelCall 等待服务器完成出站调用的秒数。

返回值

此函数可以返回标准返回值E_FAIL、E_OUTOFMEMORY和E_UNEXPECTED,以及以下值。

返回代码 说明
S_OK
发出取消请求。
E_NOINTERFACE
没有对应于指定线程的取消对象。
CO_E_CANCEL_DISABLED
未在指定线程上启用调用取消。
RPC_E_CALL_COMPLETE
调用已在超时间隔内完成。
RPC_E_CALL_CANCELED
呼叫已取消。

备注

CoCancelCall 在正在执行的调用的取消对象上调用 CoGetCancelObject ,然后 调用 ICancelMethodCalls::Cancel

此函数不会查找异步调用的 cancel 对象。

对象服务器可以通过定期调用 CoTestCancel 来确定调用是否已取消。 如果已取消调用,则对象服务器应清理并将控制权返回到客户端。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 combaseapi.h (包括 Objbase.h)
Library Ole32.lib
DLL Ole32.dll

另请参阅

CoTestCancel