Compartilhar via


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

O método CreateProcess2 executa o comando determinado 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 Servidor 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 de 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 encerrado em nulo de cadeias de caracteres terminadas em nulo. Cada cadeia de caracteres é do formulário:

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 estiver definido como NULL, o novo processo herdará o bloco de ambiente do servidor de processo. Se o sinalizador de DEBUG_CREATE_PROCESS_THROUGH_RTL estiver definido em OptionsBuffer, Environment deverá ser NULL.

Valor de retorno

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

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

Observações

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 de modo de usuário dinâmico, consulte de Destinos do Live User-Mode .

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho dbgeng.h (inclua Dbgeng.h)

Consulte também

.create (Criar Processo)

AbandonCurrentProcess

do AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

detachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient5

TerminateCurrentProcess