Функция RpcCancelThread (rpcdce.h)
Функция RpcCancelThread отменяет поток. Функция RpcCancelThread не должна использоваться для отмены асинхронных вызовов RPC; Вместо этого используйте функцию RpcAsyncCancelCall , чтобы отменить асинхронный вызов RPC.
Синтаксис
RPC_STATUS RpcCancelThread(
void *Thread
);
Параметры
Thread
Дескриптор потока для отмены.
Возвращаемое значение
Значение | Значение |
---|---|
|
Вызов выполнен успешно. |
|
Дескриптор потока не имеет привилегий. Для правильного выполнения функции дескрипторы потоков должны правильно задать THREAD_SET_CONTEXT. |
|
Вызывается клиентом MS-DOS или Windows 3.x. |
Комментарии
Функция RpcCancelThread позволяет одному клиентскому потоку отменить выполняющийся RPC в другом клиентском потоке. При вызове функции время выполнения сервера сообщается об операции отмены. Заглушка сервера может определить, был ли отменен вызов, вызвав RpcTestCancel. Если вызов был отменен, заглушка сервера должна очиститься и вернуть управление клиенту.
Функцию RpcCancelThread нельзя использовать для отмены вызова, который выполнил статический обратный вызов. Не отменяйте удаленные вызовы процедур, которые могут вызывать функцию, объявленную с атрибутом [callback] в IDL-файле.
По умолчанию клиент навсегда ожидает возврата сервером управления после отмены. Чтобы сократить это время, вызовите RpcMgmtSetCancelTimeout, указав время ожидания ответа в секундах. Если сервер не возвращается в течение этого интервала, вызов завершается ошибкой на клиенте с RPC_S_CALL_FAILED исключением. Заглушка сервера продолжает работать.
Если вы используете протокол именованных каналов, ncacn_np, необходимо указать конечное время ожидания.
RpcCancelThread можно использовать с любым протоколом, ориентированным на подключение (ncacn_*), а также с любым протоколом datagram, кроме ncadg_mq и ncalrpc.
Примечание Windows XP/2000 Функция RpcCancelThread недоступна для ncacn_http. Функция RpcCancelThread поддерживает ncacn_http в операционных системах Windows Server 2003 или более поздней версии и Windows XP с пакетом обновления 1 (SP1) и более поздних версий.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | rpcdce.h (включая Rpc.h) |
Библиотека | Rpcrt4.lib |
DLL | Rpcrt4.dll |