Compartilhar via


DkmProcessLaunchRequest Classe

Definição

DkmProcessLaunchRequest é usado para descrever o processo que o depurador deve iniciar.

public ref class DkmProcessLaunchRequest : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("7107fc56-3477-2708-fc00-174f33c04b08")]
public class DkmProcessLaunchRequest : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("7107fc56-3477-2708-fc00-174f33c04b08")>]
type DkmProcessLaunchRequest = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmProcessLaunchRequest
Inherits DkmDataContainer
Implements IDisposable
Herança
DkmProcessLaunchRequest
Herança
DkmProcessLaunchRequest
Atributos
Implementações

Propriedades

Arguments

[Opcional] Argumentos a serem passados para o arquivo executável na linha de comando.

Connection

Isso representa uma conexão entre o monitor e o IDE. Ele pode ser uma conexão local se o monitor estiver em execução no mesmo processo que o IDE ou pode ser uma conexão remota. No processo do monitor, há apenas uma conexão.

DebugLaunchSettings

Configurações fornecidas durante uma operação de depuração de início de um sistema de projeto ou outro chamador de LaunchDebugTargets (ou várias outras APIs de depuração de início).

EngineSettings

[Opcional] Configurações a serem usadas ao iniciar esse executável no depurador. Isso poderá ser omitido se o processo não estiver sendo iniciado no depurador (por exemplo: Ctrl-F5).

Environment

[Opcional] Um ponteiro para o bloco de ambiente para o novo processo. Se esse parâmetro for NULL, o novo processo usará o ambiente do processo de chamada.

Um bloco de ambiente consiste em um bloco terminado em nulo de cadeias de caracteres terminadas em nulo. Cada cadeia de caracteres está no seguinte formato: 'name=value\0'. Como o sinal de igual é usado como separador, ele não deve ser usado no nome de uma variável de ambiente.

FileName

Caminho para o arquivo executável a ser iniciado.

IsUnloaded

Retornará true se um evento 'descarregado' tiver sido gerado para este objeto (exemplo: DkmThread::Unload for chamado) ou se o objeto tiver sido fechado. Observe que o cuidado deve ser usado ao verificar esse status, pois, sem sincronização, o status retornado pode não ser mais preciso após a leitura.

(Herdado de DkmDataContainer)
LaunchFlags

Sinalizadores associados a uma solicitação para iniciar um processo.

Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

ModeFlags

Características de sinalizador de um DkmProcessLaunchRequest.

StartupInfo

[Opcional] Informações adicionais usadas para iniciar um novo processo. Essas informações estão contidas na estrutura 'STARTUPINFO' no Win32.

UniqueId

UniqueId identifica exclusivamente a solicitação de inicialização.

Win32Flags

Sinalizadores de criação de processo win32 usados ao iniciar o processo. Por exemplo, CREATE_NO_WINDOW (0x08000000) pode ser passado para desabilitar a criação da janela do console. Os sinalizadores a seguir nunca devem ser passados e o comportamento será indefinido se estiverem presentes: DEBUG_PROCESS, DEBUG_ONLY_THIS_PROCESS, CREATE_SUSPENDED, EXTENDED_STARTUPINFO_PRESENT, CREATE_SEPARATE_WOW_VDM, CREATE_SHARED_WOW_VDM e CREATE_UNICODE_ENVIRONMENT.

WorkingDirectory

O caminho completo para o diretório atual do processo. A cadeia de caracteres também pode especificar um caminho UNC.

Métodos

Close()

Fecha uma instância de objeto DkmProcessLaunchRequest. Isso liberará todos os recursos associados a esse objeto em todos os componentes. Isso inclui recursos entre limites de marshaling gerenciados/nativos ou computador.

Os objetos DkmProcessLaunchRequest são fechados automaticamente quando o objeto DkmTransportConnection associado é fechado.

Esse método só pode ser chamado pelo componente que criou o objeto .

Create(String, String, String, String, DkmProcessStartupInfo, DkmProcessLaunchModeFlags, Int32, DkmTransportConnection, DkmEngineSettings, DkmDebugLaunchSettings, DkmDataItem)

Create uma nova instância de objeto DkmProcessLaunchRequest. O chamador é responsável por fechar o objeto criado após a conclusão.

Create(String, String, String, String, DkmProcessStartupInfo, DkmProcessLaunchModeFlags, Int32, DkmTransportConnection, DkmEngineSettings, DkmDebugLaunchSettings, DkmProcessLaunchFlags, DkmDataItem)

Create uma nova instância de objeto DkmProcessLaunchRequest. O chamador é responsável por fechar o objeto criado após a conclusão.

Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetDataItem<T>()

Obtém a instância de 'T' que foi adicionada a essa instância de contêiner. Se esse contêiner não contiver um 'T', essa função retornará nulo.

(Herdado de DkmDataContainer)
LaunchDebuggedProcess()

Faz com que o monitor de depuração crie um novo processo no depurador. O processo deve ficar suspenso até que ResumeDebuggedProcess seja chamado. O monitor de depuração deve aguardar ResumeDebuggedProcess antes de criar o objeto DkmProcess, pois ele precisa do valor UniqueProcessId da Camada do AD7.

Observe que esse método só pode ser chamado em resposta ao pacote do depurador do Visual Studio solicitando uma inicialização. Os componentes que desejam iniciar outro processo no depurador devem enviar um evento personalizado para um pacote do Visual Studio. Em um pacote, uma inicialização pode ser solicitada por meio da API IVsDebugger.LaunchDebugTargets.

LaunchDebuggedProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

Faz com que o monitor de depuração crie um novo processo no depurador. O processo deve ficar suspenso até que ResumeDebuggedProcess seja chamado. O monitor de depuração deve aguardar ResumeDebuggedProcess antes de criar o objeto DkmProcess, pois ele precisa do valor UniqueProcessId da Camada do AD7.

Observe que esse método só pode ser chamado em resposta ao pacote do depurador do Visual Studio solicitando uma inicialização. Os componentes que desejam iniciar outro processo no depurador devem enviar um evento personalizado para um pacote do Visual Studio. Em um pacote, uma inicialização pode ser solicitada por meio da API IVsDebugger.LaunchDebugTargets.

Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão.

LaunchProcess()

Essa sobrecarga da API LaunchProcess é usada para iniciar um processo sem depuração e acompanhar o tempo de vida do processo. Observe que é inválido chamar essa API sem definir o sinalizador DkmProcessLaunchModeFlags.NoDebug ou com o sinalizador CREATE_SUSPENDED Win32 definido.

Essa API foi introduzida no Visual Studio 16 Atualização 9 (DkmApiVersion.VS16Update9).

LaunchProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchNonDebugProcessAsyncResult>)

Essa sobrecarga da API LaunchProcess é usada para iniciar um processo sem depuração e acompanhar o tempo de vida do processo. Observe que é inválido chamar essa API sem definir o sinalizador DkmProcessLaunchModeFlags.NoDebug ou com o sinalizador CREATE_SUSPENDED Win32 definido.

Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão.

Essa API foi introduzida no Visual Studio 16 Atualização 9 (DkmApiVersion.VS16Update9).

LaunchProcess(DkmWorkList, Int32, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

Essa API é uma versão de capacidade remota da API CreateProcess do Win32. A implementação mesclará o bloco de ambiente, processará o redirecionamento da linha de comando e iniciará o processo.

Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão.

LaunchProcess(Int32)

Essa API é uma versão de capacidade remota da API CreateProcess do Win32. A implementação mesclará o bloco de ambiente, processará o redirecionamento da linha de comando e iniciará o processo.

RemoveDataItem<T>()

Remova a instância de 'T' desse contêiner. Geralmente, é desnecessário chamar esse método, pois um contêiner de dados será esvaziado automaticamente quando o objeto for fechado.

(Herdado de DkmDataContainer)
ResumeDebuggedProcess(Guid)

Faz com que o monitor de depuração retome um processo iniciado e crie o objeto DkmProcess. O objeto DkmProcess será criado no thread de evento e a criação do objeto enviará um evento de criação de processo.

Observe que esse método só pode ser chamado em resposta ao pacote do depurador do Visual Studio solicitando uma inicialização. Os componentes que desejam iniciar outro processo no depurador devem enviar um evento personalizado para um pacote do Visual Studio. Em um pacote, uma inicialização pode ser solicitada por meio da API IVsDebugger.LaunchDebugTargets.

ResumeProcess()

Essa API é usada para retomar um processo que foi iniciado a partir de CreateProcess com o sinalizador LaunchSuspended definido como true.

ResumeProcess(DkmProcess)

Essa API é usada para retomar um processo que foi iniciado a partir de CreateProcess com o sinalizador LaunchSuspended definido como true.

Essa API foi introduzida no Visual Studio 15 Atualização 3 (DkmApiVersion.VS15Update3).

SetDataItem<T>(DkmDataCreationDisposition, T)

Coloque um novo item no contêiner de dados.

(Herdado de DkmDataContainer)

Implantações explícitas de interface

IDisposable.Dispose()

A ser adicionado.

Aplica-se a