Compartilhar via


Método IDebugClient5::CreateProcess2 (dbgeng.h)

O método CreateProcess2 executa o comando especificado para criar um novo processo.

Sintaxe

HRESULT CreateProcess2(
  [in]           ULONG64 Server,
  [in]           PSTR    CommandLine,
  [in]           PVOID   OptionsBuffer,
  [in]           ULONG   OptionsBufferSize,
  [in, optional] PCSTR   InitialDirectory,
  [in, optional] PCSTR   Environment
);

Parâmetros

[in] Server

Especifica o servidor de processo que será anexado ao processo. Se Server for zero, o mecanismo criará o processo local sem usar um servidor de processo.

[in] CommandLine

Especifica a linha de comando a ser executada para criar o novo processo.

[in] OptionsBuffer

Especifica as opções de criação do processo. OptionsBuffer é um ponteiro para uma estrutura DEBUG_CREATE_PROCESS_OPTIONS .

[in] OptionsBufferSize

Especifica o tamanho do buffer OptionsBuffer. Isso deve ser definido como sizeof(DEBUG_CREATE_PROCESS_OPTIONS).

[in, optional] InitialDirectory

Especifica o diretório inicial do processo. Se InitialDirectory for NULL, o diretório atual do servidor de processo será usado.

[in, optional] Environment

Especifica um bloco de ambiente para o novo processo. Um bloco de ambiente consiste em um bloco terminado em nulo de cadeias de caracteres terminadas em nulo. Cada cadeia de caracteres é do formato:

name=value

Observe que os dois últimos caracteres do bloco de ambiente são NULL: um para encerrar a cadeia de caracteres e outro para encerrar o bloco.

Se Environment for definido como NULL, o novo processo herdará o bloco de ambiente do servidor de processo. Se o sinalizador DEBUG_CREATE_PROCESS_THROUGH_RTL estiver definido em OptionsBuffer, o Ambiente deverá ser NULL.

Retornar valor

Esse método também pode retornar valores de erro. Consulte Valores retornados para obter mais detalhes.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.

Comentários

Esse método está disponível apenas para depuração dinâmica do modo de usuário.

Se CreateFlags contiver um dos sinalizadores DEBUG_PROCESS ou DEBUG_ONLY_THIS_PROCESS, o mecanismo também será anexado ao processo recém-criado. Isso é semelhante ao comportamento de CreateProcessAndAttach2 com seu argumento ProcessId definido como zero.

Para obter mais informações sobre como criar e anexar a destinos dinâmicos do modo de usuário, consulte Destinos do Live User-Mode.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho dbgeng.h (inclua Dbgeng.h)

Confira também

.create (Criar Processo)

AbandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient5

TerminateCurrentProcess