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


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

Функция RpcExceptionFilter является фильтром исключений по умолчанию, который определяет, является ли исключение неустранимым или неустранимым. RpcExceptionFilter рекомендуется для структурированной обработки исключений для наиболее распространенных исключений в качестве альтернативы пользовательским фильтрам с RpcExcept.

Синтаксис

int RpcExceptionFilter(
  [in] unsigned long ExceptionCode
);

Параметры

[in] ExceptionCode

Значение исключения. Любое из следующих значений исключений вернет EXCEPTION_CONTINUE_SEARCH:

STATUS_ACCESS_VIOLATION

STATUS_POSSIBLE_DEADLOCK

STATUS_INSTRUCTION_MISALIGNMENT

STATUS_DATATYPE_MISALIGNMENT

STATUS_PRIVILEGED_INSTRUCTION

STATUS_ILLEGAL_INSTRUCTION

STATUS_BREAKPOINT

STATUS_STACK_OVERFLOW

STATUS_HANDLE_NOT_CLOSABLE

STATUS_IN_PAGE_ERROR

STATUS_ASSERTION_FAILURE

STATUS_STACK_BUFFER_OVERRUN

STATUS_GUARD_PAGE_VIOLATION

STATUS_REG_NAT_CONSUMPTION

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

Значение типа , указывающее, является ли исключение неустранимным или неустраним.

Код возврата Описание
EXCEPTION_CONTINUE_SEARCH
Исключение неустранимо и должно быть обработано.
EXCEPTION_EXECUTE_HANDLER
Исключение не является неустранимой.

Комментарии

Рекомендуется использовать RpcExceptionFilter :


RpcTry
{
    … RPC calls here …
RpcExcept(RpcExceptionFilter(RpcExceptionCode()))
{
    … error handling here …
}
RpcEndExcept

Требования

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

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

Обработка исключений

RpcExcept

RpcExceptionCode

RpcTryExcept