CoGetCancelObject 函数 (combaseapi.h)

获取指向取消对象上的调用控制接口(通常为 ICancelMethodCalls)的指针,该对象对应于挂起在同一客户端线程或其他客户端线程上的出站 COM 方法调用。

语法

HRESULT CoGetCancelObject(
  [in]  DWORD  dwThreadId,
  [in]  REFIID iid,
  [out] void   **ppUnk
);

参数

[in] dwThreadId

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

[in] iid

要取消的调用的取消对象上的接口的全局唯一标识符。 此参数通常是IID_ICancelMethodCalls。

[out] ppUnk

接收指向 riid 指定的接口的指针的地址。

返回值

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

返回代码 说明
S_OK
已成功检索调用控件对象。
E_NOINTERFACE
执行调用的对象不支持 riid 指定的接口。

注解

如果两个或多个调用通过嵌套调用在同一线程上挂起,则线程 ID 可能不足以标识要取消的调用。 在这种情况下, CoGetCancelObject 返回一个取消接口,该接口对应于线程上挂起的最内部调用,并且已注册取消对象。

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

要求

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