Método de ICorDebug::CreateProcess
Inicia um processo e seu segmento principal sob o controle do depurador.
HRESULT CreateProcess (
[in] LPCWSTR lpApplicationName,
[in] LPWSTR lpCommandLine,
[in] LPSECURITY_ATTRIBUTES lpProcessAttributes,
[in] LPSECURITY_ATTRIBUTES lpThreadAttributes,
[in] BOOL bInheritHandles,
[in] DWORD dwCreationFlags,
[in] PVOID lpEnvironment,
[in] LPCWSTR lpCurrentDirectory,
[in] LPSTARTUPINFOW lpStartupInfo,
[in] LPPROCESS_INFORMATION lpProcessInformation,
[in] CorDebugCreateProcessFlags debuggingFlags,
[out] ICorDebugProcess **ppProcess
);
Parâmetros
lpApplicationName
[in] Ponteiro para uma seqüência terminada por caractere nulo que especifica o módulo a ser executada pelo processo iniciado. O módulo é executado no contexto de segurança do processo de chamada.lpCommandLine
[in] Ponteiro para uma seqüência terminada por caractere nulo que especifica a linha de comando a ser executado pelo processo iniciado.lpProcessAttributes
[in] Ponteiro para um Win32 SECURITY_ATTRIBUTES estrutura que especifica o descritor de segurança para o processo. Se lpProcessAttributes é nulo, o processo obtém um descritor de segurança padrão.lpThreadAttributes
[in] Ponteiro para um Win32 SECURITY_ATTRIBUTES estrutura que especifica o descritor de segurança para o thread principal do processo. Se lpThreadAttributes é nulo, o thread obtém um descritor de segurança padrão.bInheritHandles
[in] Definido como true para indicar que cada alça herdável no processo de chamada é herdada pelo processo iniciado, ou false para indicar que as alças não são herdadas. As alças herdadas têm os mesmos direitos de acesso e o valor que as alças do originais.dwCreationFlags
[in] Uma combinação bit a bit da Sinalizadores de criação de processo do Win32 que controlam a classe de prioridade e o comportamento do processo iniciado.lpEnvironment
[in] Ponteiro para um bloco de ambiente para o novo processo.lpCurrentDirectory
[in] Ponteiro para uma seqüência terminada por caractere nulo que especifica o caminho completo para o diretório atual para o processo. Se este parâmetro for nulo, o novo processo terá a mesma unidade e pasta atuais como o processo de chamada.lpStartupInfo
[in] Ponteiro para um Win32 STARTUPINFOW estrutura que especifica a estação da janela, desktop, alças de padrão e a aparência da janela principal para o processo iniciado.lpProcessInformation
[in] Ponteiro para um Win32 PROCESS_INFORMATION estrutura que especifica as informações de identificação sobre o processo a ser iniciado.debuggingFlags
[in] Um valor igual a CorDebugCreateProcessFlags opções de enumeração que especifica a depuração.ppProcess
[out] Um ponteiro para o endereço de um ICorDebugProcess o objeto que representa o processo.
Comentários
Os parâmetros desse método são as mesmas do Win32 CreateProcess método.
Para ativar a depuração não gerenciada de modo misto, defina dwCreationFlags para DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Se você quiser usar a depuração somente gerenciada, não defina esses sinalizadores.
Se o depurador e o processo a ser depurado (o processo anexado) compartilhar um único console e se a depuração interop é usado, é possível que o processo anexado manter os bloqueios de console e parar em um evento de depuração. O depurador, em seguida, bloqueará qualquer tentativa de usar o console. Para evitar esse problema, defina o sinalizador CREATE_NEW_CONSOLE dwCreationFlags parâmetro.
Não há suporte para depuração Interop em plataformas Win9x e não x86 como, por exemplo, as plataformas baseadas em IA-64 e baseados em AMD64.
Requisitos
Plataformas: Consulte Requisitos de sistema do .NET Framework.
Cabeçalho: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0