Функция RpcAsyncAbortCall (rpcasync.h)
Сервер вызывает RpcAsyncAbortCall , чтобы прервать асинхронный вызов.
Синтаксис
RPC_STATUS RpcAsyncAbortCall(
PRPC_ASYNC_STATE pAsync,
unsigned long ExceptionCode
);
Параметры
pAsync
Указатель на структуру RPC_ASYNC_STATE , содержащую сведения об асинхронных вызовах.
ExceptionCode
Код исключения ненулевого приложения. Может быть кодом ошибки, определяемым приложением, или стандартным кодом ошибки RPC. Дополнительные сведения см. в разделе Возвращаемые значения 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 |