Поделиться через


Метод 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, новый процесс наследует блок среды сервера обработки. Если флаг DEBUG_CREATE_PROCESS_THROUGH_RTL задан в OptionsBuffer, среда должна быть NULL.

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

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

Возвращаемый код Описание
S_OK
Метод был успешным.

Замечания

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

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

Дополнительные сведения о создании и присоединении к целевым объектам в реальном режиме пользователя см. в разделе Целевые объекты live User-Mode.

Требования

Требование Ценность
целевая платформа Настольный
заголовка dbgeng.h (include Dbgeng.h)

См. также

.create (Create Process)

abandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient5

TerminateCurrentProcess