IDebugEventCallbacks::CreateProcess 方法 (dbgeng.h)
當目標中發生建立進程偵錯事件時,引擎會呼叫 CreateProcess 回呼方法。
語法
HRESULT CreateProcess(
[in] ULONG64 ImageFileHandle,
[in] ULONG64 Handle,
[in] ULONG64 BaseOffset,
[in] ULONG ModuleSize,
[in, optional] PCSTR ModuleName,
[in, optional] PCSTR ImageName,
[in] ULONG CheckSum,
[in] ULONG TimeDateStamp,
[in] ULONG64 InitialThreadHandle,
[in] ULONG64 ThreadDataOffset,
[in] ULONG64 StartOffset
);
參數
[in] ImageFileHandle
指定行程的影像檔句柄。 如果無法使用這項資訊,ImageFileHandle 將會 NULL。
[in] Handle
指定進程的句柄。 此參數對應於 CREATE_PROCESS_DEBUG_INFO 結構中的 hProcess 欄位。 如果無法使用這項資訊,ImageFileHandle 將會 NULL。
[in] BaseOffset
指定目標記憶體位址空間中進程可執行檔映像的基位址。 如果無法使用這項資訊,BaseOffset 將會 NULL。
[in] ModuleSize
指定進程的可執行映射大小,以位元組為單位。 如果無法使用這項資訊,ModuleSize 為零。
[in, optional] ModuleName
指定調試程式引擎所使用的簡化模組名稱。 在大部分情況下,這符合排除擴展名的映像檔名稱。 如果無法使用這項資訊,ModuleName 將會 NULL。
[in, optional] ImageName
指定進程的可執行檔映像檔名,其可包含路徑。 如果無法使用這項資訊,ImageName 將會 NULL。
[in] CheckSum
指定進程可執行檔映像的總和檢查碼。 如果無法使用這項資訊,CheckSum 為零。
[in] TimeDateStamp
指定進程可執行檔的日期和時間戳記。 如果無法使用這項資訊,TimeDateStamp 為零。
[in] InitialThreadHandle
指定進程初始線程的句柄。 此參數對應於 CREATE_PROCESS_DEBUG_INFO 結構中的 hThread 字段。 如果無法使用這項資訊,InitialThreadHandle 將會 NULL。
[in] ThreadDataOffset
指定作系統為此線程維護的數據區塊。 區塊中的實際數據是作系統特定的。 如果無法使用這項資訊,ThreadDataOffset 將會 NULL。
[in] StartOffset
指定進程虛擬位址空間中線程的起始位址。 如果無法使用這項資訊,StartOffset 將會 NULL。
傳回值
這個方法會傳回 DEBUG_STATUS_XXX 值,指出引擎處理此事件之後,目標的執行應該如何繼續。 如需引擎如何處理此值的詳細資訊,請參閱 監視事件。
言論
只有在 IDebugEventCallbacks::GetInterestMask 傳回的遮罩中設定了DEBUG_EVENT_CREATE_PROCESS旗標時,引擎才會呼叫這個方法。
如需處理事件的詳細資訊,請參閱 監視事件。 如需線程的相關信息,請參閱 線程和進程。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | dbgeng.h (include Dbgeng.h) |