CoEnableCallCancellation 函数 (combaseapi.h)

允许取消调用线程上的同步调用。

语法

HRESULT CoEnableCallCancellation(
  [in, optional] LPVOID pReserved
);

参数

[in, optional] pReserved

此参数是保留的,必须为 NULL

返回值

此函数可以返回S_OK、E_FAIL、E_INVALIDARG和E_OUTOFMEMORY的标准返回值。

注解

在线程上启用呼叫取消后,从该线程封送同步调用到同一计算机上的对象可能会严重降低性能。 默认情况下,即使取消对象可用,同步调用也无法取消。 若要启用呼叫取消,必须先调用 CoEnableCallCancellation

除非希望随时在线程上启用呼叫取消,否则应将对 CoEnableCallCancellation 的 调用与对 CoDisableCallCancellation 的调用配对。 仅当每次成功调用 CoEnableCallCancellation 时调用 CoEnableCallCancellation 一次时,才会禁用调用取消。

调用可取消或不取消,具体取决于调用时线程的状态。 随后启用或禁用调用取消不会对线程上挂起的任何调用产生影响。

要求

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

另请参阅

CoEnableCallCancellation

ICancelMethodCalls