Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод CreateProcessAndAttach 2 создает процесс из указанной командной строки, а затем присоединяется к этому процессу или другому процессу пользовательского режима.
Синтаксис
HRESULT CreateProcessAndAttach2(
[in] ULONG64 Server,
[in, optional] PSTR CommandLine,
[in] PVOID OptionsBuffer,
[in] ULONG OptionsBufferSize,
[in, optional] PCSTR InitialDirectory,
[in, optional] PCSTR Environment,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
Параметры
[in] Server
Указывает сервер обработки, используемый для подключения к процессу. Если сервер равен нулю, подсистема подключается к локальному процессу без использования сервера обработки.
[in, optional] CommandLine
Указывает командную строку для создания нового процесса. Если CommandLineNULL, процесс не создается, и эти методы будут использовать ProcessId для подключения к существующему процессу.
[in] OptionsBuffer
Задает параметры создания процесса. OptionsBuffer — это указатель на структуру DEBUG_CREATE_PROCESS_OPTIONS.
[in] OptionsBufferSize
Задает размер буфера OptionsBuffer. Это значение должно иметь значение sizeof(DEBUG_CREATE_PROCESS_OPTIONS).
[in, optional] InitialDirectory
Указывает начальный каталог для процесса. Этот параметр используется только в том случае, если CommandLine не NULL. Если InitialDirectoryNULL, используется текущий каталог для сервера обработки.
[in, optional] Environment
Задает блок среды для нового процесса. Блок среды состоит из блока, завершаемого значением NULL, для строк, завершаемых значением NULL. Каждая строка имеет форму:
name=value
Обратите внимание, что последние два символа блока среды являются null: один для завершения строки и одного для завершения блока.
Если среды задано значение NULL, новый процесс наследует блок среды сервера обработки. Если флаг DEBUG_CREATE_PROCESS_THROUGH_RTL задан в OptionsBuffer, среда должна быть NULL.
[in] ProcessId
Указывает идентификатор процесса целевого процесса, к которому будет присоединен отладчик. Если ProcessID равно нулю, отладчик присоединится к процессу, созданному из CommandLine.
[in] AttachFlags
Указывает флаги, управляющие присоединением отладчика к целевому процессу. Дополнительные сведения об этих флагах см. в DEBUG_ATTACH_XXX.
Возвращаемое значение
Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в возвращаемых значений.
Возвращаемый код | Описание |
---|---|
|
Метод был успешным. |
|
Возвращается, если CommandLineNULL и ProcessId равно нулю. |
Замечания
Этот метод доступен только для динамической отладки в режиме пользователя.
Если CommandLine не NULL и ProcessId не равно нулю, подсистема создаст процесс в приостановленном состоянии. Модуль возобновляет созданный процесс после успешного подключения к процессу, указанному в ProcessId.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | dbgeng.h (include Dbgeng.h) |