Поделиться через


Функция CoGetCancelObject (combaseapi.h)

Получает указатель на интерфейс управления вызовом, обычно ICancelMethodCalls, в объекте cancel, соответствующем вызову исходящего метода COM, ожидающего выполнения в том же или другом потоке клиента.

Синтаксис

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

Параметры

[in] dwThreadId

Идентификатор потока, в котором должен быть отменен ожидающий вызов COM. Если этот параметр равен 0, вызов выполняется в текущем потоке.

[in] iid

Глобальный уникальный идентификатор интерфейса в объекте cancel для вызова, который требуется отменить. Этот аргумент обычно IID_ICancelMethodCalls.

[out] ppUnk

Получает адрес указателя на интерфейс, заданный riid.

Возвращаемое значение

Эта функция может возвращать стандартные возвращаемые значения E_FAIL, E_INVALIDARG, E_OUTOFMEMORY и E_UNEXPECTED, а также следующие значения.

Код возврата Описание
S_OK
Объект управления вызовом успешно получен.
E_NOINTERFACE
Объект, для которого выполняется вызов, не поддерживает интерфейс, заданный riid.

Комментарии

Если два или более вызова находятся в ожидании в одном потоке через вложенные вызовы, идентификатора потока может быть недостаточно для определения вызова, который требуется отменить. В этом случае CoGetCancelObject возвращает интерфейс отмены, соответствующий самому внутреннему вызову, который находится в состоянии ожидания в потоке и зарегистрировал объект отмены.

Эта функция не находит объекты отмены для асинхронных вызовов.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header combaseapi.h (включая Objbase.h)
Библиотека Ole32.lib
DLL Ole32.dll