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


Функция RpcCancelThreadEx (rpcdce.h)

Функция RpcCancelThreadEx останавливает выполнение потока. Функция RpcCancelThreadEx не должна использоваться для остановки выполнения асинхронного вызова RPC; Вместо этого используйте функцию RpcAsyncCancelCall , чтобы остановить выполнение асинхронного вызова RPC.

Синтаксис

RPC_STATUS RpcCancelThreadEx(
  void *Thread,
  long Timeout
);

Параметры

Thread

Дескриптор потока для отмены.

Timeout

Время ожидания отмены потока до возврата этой функции в секундах. Чтобы указать, что клиент ожидает неограниченное время, передайте значение RPC_C_CANCEL_INFINITE_TIMEOUT.

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

Значение Значение
RPC_S_OK
Вызов выполнен успешно.
RPC_S_ACCESS_DENIED
Дескриптор потока не имеет привилегий. Для правильного выполнения функции дескрипторы потоков должны правильно задать THREAD_SET_CONTEXT.
RPC_S_CANNOT_SUPPORT
Вызывается MS-DOS или Windows 3. x client.
 
Примечание Список допустимых кодов ошибок см. в разделе Возвращаемые значения RPC.
 

Комментарии

Функция RpcCancelThreadEx позволяет одному клиентскому потоку отменить выполняющийся RPC в другом клиентском потоке. При вызове функции время выполнения сервера сообщается об операции отмены. Заглушка сервера может определить, был ли отменен вызов, вызвав RpcTestCancel. Если вызов был отменен, заглушка сервера должна очиститься и вернуть управление клиенту.

С помощью параметра Timeout приложение может указать время ожидания ответа в секундах. Если сервер не возвращается в течение этого интервала, вызов завершается ошибкой на клиенте с RPC_S_CALL_CANCELLED исключением. Заглушка сервера продолжает выполняться.

Если вы используете протокол именованных каналов, ncacn_np, необходимо указать конечное время ожидания.

ПримечаниеRpcCancelThreadEx можно использовать с любым протоколом, ориентированным на подключение (ncacn_*), кроме ncacn_http, и с любым протоколом datagram, кроме ncadg_mq и ncalrpc.
 

Требования

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

См. также раздел

RpcAsyncCancelCallRpcCancelThreadRpcTestCancelncacn_httpncacn_npncadg_mqncalrpc