Método IDebugClient5::CreateProcessAndAttachWide (dbgeng.h)
O método CreateProcessAndAttachWide cria um processo a partir de uma linha de comando especificada e, em seguida, anexa a outro processo de modo de usuário. O processo criado é suspenso e só tem permissão para ser executado quando a anexação for concluída. Isso permite sincronização aproximada ao depurar processos de cliente e servidor.
Sintaxe
HRESULT CreateProcessAndAttachWide(
[in] ULONG64 Server,
[in, optional] PWSTR CommandLine,
[in] ULONG CreateFlags,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
Parâmetros
[in] Server
Especifica o servidor de processo a ser usado para anexar ao processo. Se Server for zero, o mecanismo se conectará ao processo local sem usar um servidor de processo.
[in, optional] CommandLine
Especifica a linha de comando a ser executada para criar o novo processo. Se CommandLine for NULL, nenhum processo será criado e esses métodos serão anexados a um processo existente, como AttachProcess.
[in] CreateFlags
Especifica os sinalizadores a serem usados ao criar o processo. Para obter detalhes sobre esses sinalizadores, consulte DEBUG_CREATE_PROCESS_OPTIONS.CreateFlags.
[in] ProcessId
Especifica a ID do processo de destino ao qual o depurador será anexado. Se ProcessId for zero, o depurador será anexado ao processo que ele criou a partir de commandline.
[in] AttachFlags
Especifica os sinalizadores que controlam como o depurador é anexado ao processo de destino. Para obter detalhes sobre esses sinalizadores, consulte DEBUG_ATTACH_XXX.
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 |
---|---|
|
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 CommandLine não estiver NULL e ProcessId não for zero, o mecanismo criará o processo em um estado suspenso. O mecanismo retomará esse processo recém-criado depois de se conectar com êxito ao processo especificado em ProcessId.
O mecanismo não é completamente anexado ao processo até que o método WaitForEvent tenha sido chamado. Somente depois que o processo tiver gerado um evento, por exemplo, o evento create-process, ele ficará disponível na sessão do depurador.
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
do AttachProcess