IDebugClient5::CreateProcess2 方法 (dbgeng.h)
CreateProcess2 方法执行给定命令以创建新进程。
语法
HRESULT CreateProcess2(
[in] ULONG64 Server,
[in] PSTR CommandLine,
[in] PVOID OptionsBuffer,
[in] ULONG OptionsBufferSize,
[in, optional] PCSTR InitialDirectory,
[in, optional] PCSTR Environment
);
参数
[in] Server
指定将附加到进程的进程服务器。 如果 服务器 为零,则引擎将在不使用进程服务器的情况下创建本地进程。
[in] CommandLine
指定要执行的命令行以创建新进程。
[in] OptionsBuffer
指定进程创建选项。 OptionsBuffer 是指向 DEBUG_CREATE_PROCESS_OPTIONS 结构的指针。
[in] OptionsBufferSize
指定 optionsBuffer 缓冲区的大小。 这应设置为 sizeof(DEBUG_CREATE_PROCESS_OPTIONS)。
[in, optional] InitialDirectory
指定进程的起始目录。 如果 InitialDirectoryNULL,则使用进程服务器的当前目录。
[in, optional] Environment
为新进程指定环境块。 环境块由以 null 结尾的字符串的 null 终止块组成。 每个字符串的格式如下:
name=value
请注意,环境块的最后两个字符都 NULL:一个用于终止字符串,另一个用于终止该块。
如果 环境 设置为 NULL,则新进程将继承进程服务器的环境块。 如果在 OptionsBuffer 中设置了DEBUG_CREATE_PROCESS_THROUGH_RTL标志,则必须 NULL环境。
返回值
此方法也可能返回错误值。 有关详细信息,请参阅 返回值。
返回代码 | 描述 |
---|---|
|
该方法成功。 |
言论
此方法仅适用于实时用户模式调试。
如果 CreateFlags 包含标志DEBUG_PROCESS或DEBUG_ONLY_THIS_PROCESS,则引擎还将附加到新创建的进程。 这类似于 CreateProcessAndAttach2 的行为,其参数 ProcessId 设置为零。
有关创建和附加到实时用户模式目标的详细信息,请参阅 实时 User-Mode 目标。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |