Debugging Tools for Windows

GetCurrentThreadTeb

The GetCurrentThreadTeb method returns the location of the thread environment block (TEB) for the current thread.

HRESULT
  IDebugSystemObjects::GetCurrentThreadTeb(
    OUT PULONG64  Offset
    );

Parameters

Offset
Receives the location in the target's virtual address space of the TEB for the current thread.

Return Value

S_OK
The method was successful.

This method may also return error values. See Return Values for more details.

Interface Version

GetCurrentThreadTeb is available in all versions of IDebugSystemObjects.

Comments

In user-mode debugging, this method provides the same information as GetCurrentThreadDataOffset.

In kernel-mode debugging, the location returned is of the TEB structure of the system thread that was executing on the processor represented by the current thread when the last event occurred.

Note  In kernel mode, the current thread is always a virtual thread the debugger created for a processor in the target computer. Because events may occur in different system threads, the TEB location for a virtual thread may change.

For more information about threads, see Threads and Processes. For details on the TEB structure, see Microsoft Windows Internals by David Solomon and Mark Russinovich.

Requirements

Headers: Defined in Dbgeng.h. Include Dbgeng.h.

Build machine: CAPEBUILD