Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This structure contains process creation information that can be used by a debugger.
typedef struct _CREATE_PROCESS_DEBUG_INFO { HANDLE hFile ; HANDLE hProcess ; HANDLE hThread ; LPVOID lpBaseOfImage ; DWORD dwDebugInfoFileOffset ; DWORD nDebugInfoSize ; LPVOID lpThreadLocalBase ; LPTHREAD_START_ROUTINE lpStartAddress ; LPVOID lpImageName ; WORD fUnicode ; } CREATE_PROCESS_DEBUG_INFO;
Members
This member is strictly optional. Debuggers must be prepared to handle the case where lpImageNameis NULL or *lpImageName(in the address space of the process being debugged) is NULL. Specifically, the system does not provide an image name for a create process event, and will not likely pass an image name for the first DLL event. The system also does not provide this information in the case of debug events that originate from a call to the DebugActiveProcessfunction.
Remarks
The lpImageNamemember is a pointer into the address space of the process that is being debugged. To retrieve the actual image name, use the ReadProcessMemoryfunction in the following manner.
ReadProcessMemory( hProcess, lpImageName, lpBuffer, nSize, &NumberOfBytesRead );
For the DebugActiveProcessfunction, if the dwDebugEventCodemember of the DEBUG_EVENTstructure has a value of CREATE_PROCESS_DEBUG_EVENT or CREATE_THREAD_DEBUG_EVENT, the lpStartAddressmember is NULL.
The lpThreadLocalBasemember points directly to the Thread Local Storage (TLS) data block of the process that is being debugged. To obtain the TLS data for a slot, call the ReadProcessMemoryfunction and pass the following calculated value for the lpBaseAddressparameter: lpThreadLocalBase+4*<slot number>.
Requirements
Runs On | Versions | Defined in | Include | Link to |
---|---|---|---|---|
Windows CE OS | 2.0 and later | Winbase.h |
Note This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.
See Also
DebugActiveProcess, ReadProcessMemory, SetThreadContext, DEBUG_EVENT, LOAD_DLL_DEBUG_INFO