5 #ifndef _GUEST_STACK_H_ 6 #define _GUEST_STACK_H_ 11 #define STACK_ADDR_NOT_INSIDE_FUNCTION 0x00000001 12 #define STACK_CALL_ADDRESS_IMPRECISE 0x00000002 14 #define STACK_INTERRUPT_ROUTINE 0x00000004 16 #define STACK_EXCEPTION_ROUTINE 0x00000008 20 #define STACK_FLG_ONLY_DRIVER_ADDRS 0x00000001 21 #define STACK_FLG_FAST_GET 0x00000002 51 #endif //_GUEST_STACK_H_ BOOLEAN Bits64
TRUE if we got the stack frame in 64-bit mode (RBP) or 32 (EBP)
struct _STACK_TRACE * PSTACK_TRACE
DWORD Flags
Describe what each of the following fields mean.
Structure that describes a stack trace element.
DWORD NumberOfTraces
Number of elements inside Traces.
QWORD RetAddrPointer
Where we found the return address.
STACK_ELEMENT * Traces
Array describing the stack trace elements.
void * ReturnModule
The module to which the function belongs.
QWORD CalledAddress
The start address of the function called.
QWORD ReturnAddress
The address where the current stack frame will return (@ ret)
QWORD StartRip
The RIP where we were initially.
struct _STACK_TRACE STACK_TRACE
Structure that describes a stack trace.
QWORD CurrentRip
The RIP where we are now (pointing to the instruction next to the CALL)
struct _STACK_ELEMENT * PSTACK_ELEMENT
struct _STACK_ELEMENT STACK_ELEMENT
Structure that describes a stack trace element.
Structure that describes a stack trace.