Функция 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, а также следующие значения.
Код возврата | Описание |
---|---|
|
Объект управления вызовом успешно получен. |
|
Объект, для которого выполняется вызов, не поддерживает интерфейс, заданный riid. |
Комментарии
Если два или более вызова находятся в ожидании в одном потоке через вложенные вызовы, идентификатора потока может быть недостаточно для определения вызова, который требуется отменить. В этом случае CoGetCancelObject возвращает интерфейс отмены, соответствующий самому внутреннему вызову, который находится в состоянии ожидания в потоке и зарегистрировал объект отмены.
Эта функция не находит объекты отмены для асинхронных вызовов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | combaseapi.h (включая Objbase.h) |
Библиотека | Ole32.lib |
DLL | Ole32.dll |