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