CREATE_PROCESS_DEBUG_INFO

typedef struct _CREATE_PROCESS_DEBUG_INFO { /* cpdi */

HANDLE hFile;

HANDLE hProcess;

HANDLE hThread;

LPVOID lpBaseOfImage;

DWORD dwDebugInfoFileOffset;

DWORD nDebugInfoSize;

LPTHREAD_START_ROUTINE lpStartAddress;

} CREATE_PROCESS_DEBUG_INFO;

The CREATE_PROCESS_DEBUG_INFO structure contains process creation information that could be used by a debugger.

Members

hFile

Identifies an open handle to the process' image file. If hFile is NULL, the handle is not valid. Otherwise, the debugger can use hFile to read and write the image file.

hProcess

Identifies an open handle to the process. If hProcess is NULL, the handle is not valid. Otherwise, the debugger can use hProcess to read and write the process' memory.

hThread

Identifies an open handle to the initial thread of the process identified by hProcess. If hThread 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. This allows the debugger to read and write the registers of the thread and control execution of the thread.

lpBaseOfImage

Points to the base address of the executable image that the process is running.

dwDebugInfoFileOffset

Specifies the offset to the debugging information in the file identified by hFile. The kernel expects the debugging information to be in CodeView 4.0 format. This format is currently a derivative of COFF (Common Object File Format).

nDebugInfoSize

Specifies the size in bytes of the debugging information in the file. If this value is zero, there is no debugging information.

lpStartAddress

Specifies 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

CREATE_THREAD_DEBUG_INFO, DEBUG_EVENT