Platform SDK: Debugging and Error Handling

KDHELP

The KDHELP structure is included in the STACKFRAME structure, and is used to trace through user-mode callbacks in a thread's kernel stack. This structure is used by kernel debuggers.

typedef struct _KDHELP {
    DWORD Thread;
    DWORD ThCallbackStack;
    DWORD NextCallback;
    DWORD FramePointer;
    DWORD KiCallUserMode;
    DWORD KeUserCallbackDispatcher;
    DWORD SystemRangeStart;
    DWORD ThCallbackBStore;
    DWORD Reserved[8];
} KDHELP, *PKDHELP;

Win64: This structure is defined as follows.

typedef struct _KDHELP64 {
    DWORD64 Thread;
    DWORD   ThCallbackStack;
    DWORD   ThCallbackBStore;
    DWORD   NextCallback;
    DWORD   FramePointer;
    DWORD64 KiCallUserMode;
    DWORD64 KeUserCallbackDispatcher;
    DWORD64 SystemRangeStart;
    DWORD64 Reserved[8];
} KDHELP64, *PKDHELP64;

Members

Thread
Specifies the address of the kernel thread object, as provided in the WAIT_STATE_CHANGE packet.
ThCallbackStack
Specifies the offset in the thread object to the pointer to the current callback frame in the kernel stack.
NextCallback
Specifies the address of the next callback frame.
FramePointer
Specifies the address of the saved frame pointer, if applicable.
KiCallUserMode
Specifies the address of the kernel function that calls out to user mode.
KeUserCallbackDispatcher
Specifies the address of the user-mode dispatcher function.
SystemRangeStart
Specifies the lowest kernel-mode address.
ThCallbackBStore
Specifies the offset in the thread object to a pointer to the current callback backing store frame in the kernel stack.
Reserved
Reserved for system use.

Requirements

  Windows NT/2000: Requires Windows NT 3.51 or later.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in Dbghelp.h.

See Also

Debug Help Library Overview, DbgHelp Structures