CREATE_THREAD_DEBUG_INFO
The CREATE_THREAD_DEBUG_INFO
structure contains thread-creation information that can be used by a debugger.
typedef struct _CREATE_THREAD_DEBUG_INFO { // ctdi
HANDLE
hThread;
LPVOID
lpThreadLocalBase;
LPTHREAD_START_ROUTINE lpStartAddress;
} CREATE_THREAD_DEBUG_INFO;
Members
hThread
Identifies a
handle of the thread whose creation caused the debugging event. If this member
is NULL, the handle is not valid. Otherwise, the debugger has THREAD_GET_CONTEXT,
THREAD_SET_CONTEXT, and THREAD_SUSPEND_RESUME access to the thread, allowing
the debugger to read from and write to the registers of the thread and control
execution of the thread.
lpThreadLocalBase
Points to a
block of data. At offset 0x2C into this block is another pointer, called
ThreadLocalStoragePointer, that points to an array of per-module thread local
storage blocks. This gives a debugger access to per-thread data in the threads
of the process being debugged using the same algorithms that a compiler would
use.
lpStartAddress
Points to the
starting address of the thread. This value may only be an approximation of the
thread s starting address, because any application with appropriate access to the
thread can change the thread s context by using the SetThreadContext
function.
See Also