IDebugEventCallbacksWide::CreateProcess 方法 (dbgeng.h)
當目標中發生建立進程偵錯事件時,引擎會呼叫 CreateProcess 回呼方法。
語法
HRESULT CreateProcess(
[in] ULONG64 ImageFileHandle,
[in] ULONG64 Handle,
[in] ULONG64 BaseOffset,
[in] ULONG ModuleSize,
[in, optional] PCWSTR ModuleName,
[in, optional] PCWSTR 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 值,指出引擎處理此事件之後,目標的執行應該如何繼續。 如需引擎如何處理此值的詳細資訊,請參閱 監視事件。
備註
只有在 IDebugEventCallbacksWide::GetInterestMask 傳回的遮罩中設定了DEBUG_EVENT_CREATE_PROCESS旗標時,才會呼叫這個方法。
如需處理事件的詳細資訊,請參閱 監視事件。 如需線程的相關信息,請參閱 線程和進程。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | dbgeng.h (包含 Dbgeng.h) |