Метод 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

Указывает сервер обработки, который будет подключен к процессу. Если значение Server равно нулю, подсистема создаст локальный процесс без использования сервера обработки.

[in] CommandLine

Указывает командную строку, выполняемую для создания нового процесса.

[in] OptionsBuffer

Задает параметры создания процесса. OptionsBuffer — это указатель на структуру DEBUG_CREATE_PROCESS_OPTIONS .

[in] OptionsBufferSize

Задает размер буфера OptionsBuffer. Для этого параметра должно быть задано значение sizeof(DEBUG_CREATE_PROCESS_OPTIONS).

[in, optional] InitialDirectory

Указывает начальный каталог для процесса. Если initialDirectory имеет значение NULL, используется текущий каталог для сервера обработки.

[in, optional] Environment

Указывает блок среды для нового процесса. Блок среды состоит из блока строк, завершаемых значением NULL. Каждая строка имеет следующий вид:

name=value

Обратите внимание, что два последних символа блока среды имеют значение NULL: один для завершения строки, а второй — для завершения блока.

Если параметр Environment имеет значение NULL, новый процесс наследует блок среды сервера обработки. Если флаг DEBUG_CREATE_PROCESS_THROUGH_RTL установлен в OptionsBuffer, то параметр Environment должен иметь значение NULL.

Возвращаемое значение

Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .

Код возврата Описание
S_OK
Метод выполнен успешно.

Комментарии

Этот метод доступен только для динамической отладки в пользовательском режиме.

Если CreateFlags содержит любой из флагов DEBUG_PROCESS или DEBUG_ONLY_THIS_PROCESS, подсистема также подключается к только что созданному процессу. Это похоже на поведение CreateProcessAndAttach2 с аргументом ProcessId , равным нулю.

Дополнительные сведения о создании и подключении к динамическим целевым объектам пользовательского режима см. в разделе Live User-Mode Targets.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dbgeng.h (включая Dbgeng.h)

См. также раздел

.create (Create Process)

AbandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient5

TerminateCurrentProcess