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


Функция RpcAsyncAbortCall (rpcasync.h)

Сервер вызывает RpcAsyncAbortCall , чтобы прервать асинхронный вызов.

Синтаксис

RPC_STATUS RpcAsyncAbortCall(
  PRPC_ASYNC_STATE pAsync,
  unsigned long    ExceptionCode
);

Параметры

pAsync

Указатель на структуру RPC_ASYNC_STATE , содержащую сведения об асинхронных вызовах.

ExceptionCode

Код исключения ненулевого приложения. Может быть кодом ошибки, определяемым приложением, или стандартным кодом ошибки RPC. Дополнительные сведения см. в разделе Возвращаемые значения RPC.

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

Значение Значение
RPC_S_OK
Отмена вызова выполнена успешно.
RPC_S_INVALID_ASYNC_HANDLE
Недопустимый асинхронный дескриптор.
 
Примечание Список допустимых кодов ошибок см. в разделе Возвращаемые значения RPC.
 

Комментарии

Сервер вызывает RpcAsyncAbortCall , когда обстоятельства требуют прервать асинхронный вызов до завершения. Например, вызывающий объект может не иметь необходимых разрешений для выполнения запроса или сервер может быть слишком занят для обработки вызова. Используйте параметр ExceptionCode , чтобы указать причину прерывания. Среда выполнения распространяет код исключения на клиент как ошибку.

Когда асинхронный вызов прерывается с помощью RpcAsyncAbortCall, маршалирование выходных аргументов не выполняется, и все входные аргументы освобождаются RPC. При вызове RpcAsyncAbortCall вызов функции RpcAsyncCompleteCall не требуется. Функция RpcAsyncAbortCall должна вызываться только один раз для любого асинхронного вызова; второй вызов может завершиться сбоем процесса или завершиться сбоем другими неожиданными способами.

Требования

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

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

Асинхронный RPC

RPC_ASYNC_STATE

RpcAsyncCancelCall

RpcAsyncCompleteCall

RpcAsyncGetCallHandle

RpcAsyncGetCallStatus

RpcAsyncInitializeHandle

RpcServerTestCancel