共用方式為


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 (包含 Dbgeng.h)