Rob Shearman : rpcrt4: Implement I_RpcExceptionFilter.

Alexandre Julliard julliard at winehq.org
Fri Apr 11 06:28:27 CDT 2008


Module: wine
Branch: master
Commit: 9a2914b11f92f1ccb3187eb782f622cbba1e6726
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9a2914b11f92f1ccb3187eb782f622cbba1e6726

Author: Rob Shearman <rob at 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)




More information about the wine-cvs mailing list