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
标头 rpcdce.h (包括 Rpc.h)
Library Rpcrt4.lib
DLL Rpcrt4.dll

另请参阅

异常处理

RpcExcept

RpcExceptionCode

RpcTryExcept