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) |