IDebugClient5::CreateProcess2Wide 方法 (dbgeng.h)

CreateProcess2Wide 方法执行指定的命令以创建新进程。

语法

HRESULT CreateProcess2Wide(
  [in]           ULONG64 Server,
  [in]           PWSTR   CommandLine,
  [in]           PVOID   OptionsBuffer,
  [in]           ULONG   OptionsBufferSize,
  [in, optional] PCWSTR  InitialDirectory,
  [in, optional] PCWSTR  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

返回值

此方法也可能返回错误值。 有关更多详细信息,请参阅 返回值

返回代码 说明
S_OK
该方法成功。

备注

此方法仅适用于实时用户模式调试。

如果 CreateFlags 包含标志DEBUG_PROCESS或DEBUG_ONLY_THIS_PROCESS,则引擎还将附加到新创建的进程。 这类似于 CreateProcessAndAttach2 的行为,其参数 ProcessId 设置为零。

有关创建和附加到实时用户模式目标的详细信息,请参阅 实时User-Mode目标

要求

   
目标平台 桌面
Header dbgeng.h (包括 Dbgeng.h)

另请参阅

.create(创建进程)

AbandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient5

TerminateCurrentProcess