Module: wine Branch: master Commit: 9a2914b11f92f1ccb3187eb782f622cbba1e6726 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9a2914b11f92f1ccb3187eb782...
Author: Rob Shearman rob@codeweavers.com Date: Fri Apr 11 10:59:34 2008 +0100
rpcrt4: Implement I_RpcExceptionFilter.
---
dlls/rpcrt4/rpcrt4.spec | 2 +- dlls/rpcrt4/rpcrt4_main.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/dlls/rpcrt4/rpcrt4.spec b/dlls/rpcrt4/rpcrt4.spec index da54ddf..bbf5a01 100644 --- a/dlls/rpcrt4/rpcrt4.spec +++ b/dlls/rpcrt4/rpcrt4.spec @@ -42,7 +42,7 @@ @ stub I_RpcConnectionSetSockBuffSize @ stub I_RpcDeleteMutex @ stub I_RpcEnableWmiTrace # wxp -@ stub I_RpcExceptionFilter # wxp +@ stdcall I_RpcExceptionFilter(long) @ stdcall I_RpcFree(ptr) @ stdcall I_RpcFreeBuffer(ptr) @ stub I_RpcFreePipeBuffer diff --git a/dlls/rpcrt4/rpcrt4_main.c b/dlls/rpcrt4/rpcrt4_main.c index 4438f52..02e1dcd 100644 --- a/dlls/rpcrt4/rpcrt4_main.c +++ b/dlls/rpcrt4/rpcrt4_main.c @@ -937,6 +937,22 @@ LONG WINAPI I_RpcMapWin32Status(RPC_STATUS status) }
/****************************************************************************** + * I_RpcExceptionFilter (rpcrt4.@) + */ +int WINAPI I_RpcExceptionFilter(ULONG ExceptionCode) +{ + TRACE("0x%x\n", ExceptionCode); + switch (ExceptionCode) + { + case EXCEPTION_ACCESS_VIOLATION: + case EXCEPTION_ILLEGAL_INSTRUCTION: + return EXCEPTION_CONTINUE_SEARCH; + default: + return EXCEPTION_EXECUTE_HANDLER; + } +} + +/****************************************************************************** * RpcErrorStartEnumeration (rpcrt4.@) */ RPC_STATUS RPC_ENTRY RpcErrorStartEnumeration(RPC_ERROR_ENUM_HANDLE* EnumHandle)