IDebugEventCallbacks::CreateProcess 方法 (dbgeng.h)

当目标中发生 create-process 调试事件时,引擎将调用 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)