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/ntoskr... ============================================================================== --- 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.