[ros-diffs] [sserapion] 44773: Implement KeGetTrapFrame and KeGetExceptionFrame macros.

sserapion at svn.reactos.org sserapion at svn.reactos.org
Sun Dec 27 19:19:21 CET 2009


Author: sserapion
Date: Sun Dec 27 19:19:20 2009
New Revision: 44773

URL: http://svn.reactos.org/svn/reactos?rev=44773&view=rev
Log:
Implement KeGetTrapFrame and KeGetExceptionFrame macros.

Modified:
    branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/ke.h

Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/ke.h
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/ke.h?rev=44773&r1=44772&r2=44773&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/ke.h [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/ke.h [iso-8859-1] Sun Dec 27 19:19:20 2009
@@ -101,6 +101,17 @@
 
 #define KeSetContextReturnRegister(Context, ReturnValue) \
     ((Context)->Rax = (ReturnValue))
+
+//
+// Macro to get trap and exception frame from a thread stack
+//
+#define KeGetTrapFrame(Thread) \
+    (PKTRAP_FRAME)((ULONG_PTR)((Thread)->InitialStack) - \
+                   sizeof(KTRAP_FRAME))
+
+#define KeGetExceptionFrame(Thread) \
+    (PKEXCEPTION_FRAME)((ULONG_PTR)KeGetTrapFrame(Thread) - \
+                        sizeof(KEXCEPTION_FRAME))
 
 //
 // Returns the Interrupt State from a Trap Frame.




More information about the Ros-diffs mailing list