Compartilhar via


DkmTransportConnection Classe

Definição

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 de monitor, há apenas uma conexão.

Classes derivadas: DkmStandardRemoteTransportConnection

public ref class DkmTransportConnection : Microsoft::VisualStudio::Debugger::DkmDataContainer
[System.Runtime.InteropServices.Guid("37f756b6-9ea0-4c02-3f0a-99fb3a0f7a77")]
public class DkmTransportConnection : Microsoft.VisualStudio.Debugger.DkmDataContainer
[<System.Runtime.InteropServices.Guid("37f756b6-9ea0-4c02-3f0a-99fb3a0f7a77")>]
type DkmTransportConnection = class
    inherit DkmDataContainer
Public Class DkmTransportConnection
Inherits DkmDataContainer
Herança
DkmTransportConnection
Herança
DkmTransportConnection
Derivado
Atributos

Propriedades

DebuggerCpuArchitecture

Arquitetura de componentes do depurador do lado do monitor. Isso é componentes do depurador com nível < de componente 100.000.

Essa API foi introduzida no Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

Flags

Sinalizadores que indicam características da conexão subjacente.

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)
Kind

Indica o tipo de transporte que está sendo usado para depurar.

ProtocolVersion

A versão do protocolo usada entre o Visual Studio e o computador de destino. Esse é o mínimo da versão de protocolo que o Visual Studio entende e a versão do protocolo que o depurador remoto entende.

Essa API foi introduzida no Visual Studio 11 Atualização 1 (DkmApiVersion.VS11FeaturePack1).

Qualifier

[Opcional] Cadeia de caracteres que indica o destino da conexão. Isso será nulo para a conexão local. Para depuração remota padrão, esse é o nome do computador e o número da porta aos quais estamos tentando nos conectar.

UniqueId

Guid que identifica exclusivamente essa conexão. A conexão local usará o valor 'DkmTransportKind.Local'. O valor de outras conexões será gerado aleatoriamente.

Métodos

ActivateAppPackage(DkmWorkList, DkmPackagedAppPlatform, String, Boolean, DkmCompletionRoutine<DkmActivateAppPackageAsyncResult>)

Ativa o aplicativo empacotado especificado. Isso fará com que o aplicativo seja iniciado se ele ainda não tiver sido iniciado e o retornará como o aplicativo ativo se ele já estiver em execução. Ao iniciar sob o depurador, IDkmProcessLaunchNotifyListener.StartListener será chamado antes dessa API.

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.

ActivateAppPackageExtended(DkmWorkList, DkmPackagedAppPlatform, String, Boolean, DkmActivateAppPackageFlags, DkmCompletionRoutine<DkmActivateAppPackageAsyncResult>)

Ativa o aplicativo empacotado especificado. Isso fará com que o aplicativo seja iniciado se ele ainda não tiver sido iniciado e o retornará como o aplicativo ativo se ele já estiver em execução. Ao iniciar sob o depurador, IDkmProcessLaunchNotifyListener.StartListener será chamado antes dessa API.

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 14 Atualização 1 (DkmApiVersion.VS14Update1).

ActivateAppPackageOnTargetMonitor(DkmWorkList, DkmPackagedAppPlatform, String, Boolean, UInt32, DkmCompletionRoutine<DkmActivateAppPackageAsyncResult>)

Ativa um aplicativo empacotado no monitor especificado. Isso fará com que o aplicativo seja iniciado se ele ainda não tiver sido iniciado e o retornará como o aplicativo ativo se ele já estiver em execução.

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 12 Atualização 3 (DkmApiVersion.VS12Update3).

ActivateAppPackageWithStartupTask(DkmWorkList, String, Boolean, DkmCompletionRoutine<DkmActivateAppPackageAsyncResult>)

Ativa o aplicativo empacotado especificado. Isso fará com que o aplicativo seja iniciado se ele ainda não tiver sido iniciado e o retornará como o aplicativo ativo se ele já estiver em execução. Ao iniciar sob o depurador, IDkmProcessLaunchNotifyListener.StartListener será chamado antes dessa API.

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 14 RTM (DkmApiVersion.VS14RTM).

ActivateBackgroundTask(DkmWorkList, DkmAppPackageId, Int32, Guid, DkmCompletionRoutine<DkmActivateBackgroundTaskAsyncResult>)

Ativar uma tarefa em segundo plano. Isso é usado pelos desenvolvedores para testar o manipulador de ativação do aplicativo.

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.

CreateCoreDumpParserTargetCompositionServices(String, Object)

Create uma instância de IDebugServiceManager para o cenário de análise de arquivo principal, que pode ser usado para acessar extensões baseadas em Composição de Destino. Depois que o DkmProcess estiver disponível, chame SetCoreDumpParserTargetCompositionServices para que a instância possa ser armazenada em cache corretamente.

Restrição de local: as interfaces de composição de destino não podem ter marshaling em todo o computador, mas são seguras de usar, se disponíveis.

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

CreateDirectory(String)

Cria um diretório no computador de destino. Observe que os diretórios são criados implicitamente ao implantar arquivos. Portanto, essa API não precisa ser usada nesse cenário.

DeleteFile(String)

Exclua um arquivo no computador de destino.

DeployFile(String, String, Boolean)

Implante um arquivo no computador de destino. Observe que isso copiará o conteúdo do arquivo e a hora da última gravação, mas não os atributos.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

DownloadFile(DkmWorkList, String, String, Boolean, DkmCompletionRoutine<DkmDownloadFileAsyncResult>)

Baixe um arquivo do computador de destino. Observe que isso copiará o conteúdo do arquivo e a hora da última gravação, mas não os atributos.

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.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

DownloadFile(String, String, Boolean)

Baixe um arquivo do computador de destino. Observe que isso copiará o conteúdo do arquivo e a hora da última gravação, mas não os atributos.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

EnumerateBackgroundTasks(DkmWorkList, DkmAppPackageId, Int32, DkmCompletionRoutine<DkmEnumerateBackgroundTasksAsyncResult>)

Enumera as tarefas em segundo plano existentes. Isso é usado pelos desenvolvedores para testar o manipulador de enumeração do aplicativo.

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.

EnumPackages()

Enumera pacotes de aplicativos instalados e inicializáveis (Pacotes de Aplicativos com aplicativos).

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

EnumRunningProcesses(Boolean, DkmRunningProcessInfoPropertyMask)

Fornece uma listagem de todos os processos em execução no computador de destino (incluindo processos que não estão sendo depurados).

EnumRunningProcesses(DkmWorkList, Boolean, DkmRunningProcessInfoPropertyMask, DkmCompletionRoutine<DkmEnumRunningProcessesAsyncResult>)

Fornece uma listagem de todos os processos em execução no computador de destino (incluindo processos que não estão sendo depurados).

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.

ExtractFromDeployConnection(IVsDebuggerDeployConnection)

Obtém o objeto DkmTransportConnection que apoia a conexão de implantação. Isso pode ser usado para fazer a ponte entre a API de implantação do depurador e as APIs do mecanismo de depurador (Dkm). Por exemplo, isso pode ser usado para enviar DkmCustomMessages.

O chamador ainda deve manter deployConnection para evitar que o DkmTransportConnection subjacente seja descartado. Observe que, por padrão, os componentes de concordância serão descarregados durante a depuração de parada. Esse comportamento pode ser substituído definindo 'StayLoadedForDeployConnection="true"' no arquivo .vsdconfigxml do componente. Isso será útil se o chamador quiser extrair a conexão de implantação para enviar mensagens personalizadas e quiser fazê-lo após o término da sessão do depurador.

ExtractFromPort(IDebugPort2)

Obtém o objeto DkmTransportConnection que apoia esse objeto de porta. Isso falhará em cenários de depuração remota se a porta não estiver conectada no momento e a reconexão não tiver sido bem-sucedida. Essa API só funcionará corretamente do thread main do Visual Studio.

FindConnection(Guid)

Localize um objeto DkmTransportConnection. Se nenhum objeto com a chave de entrada fornecida estiver presente, FindConnection falhará.

FindLiveProcess(Int32)

Localize um elemento DkmProcess dentro deste DkmTransportConnection. Se nenhum elemento com a chave de entrada fornecida estiver presente, FindLiveProcess falhará. Se um objeto for encontrado, ele sempre conterá a parte 'Live'.

FindProcess(Guid)

Localize um elemento DkmProcess dentro deste DkmTransportConnection. Se nenhum elemento com a chave de entrada fornecida estiver presente, FindProcess falhará.

FindProductionConnection(Guid)

Localize um elemento DkmProductionConnection dentro deste DkmTransportConnection. Se nenhum elemento com a chave de entrada fornecida estiver presente, FindProductionConnection falhará.

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

FindRecordedProcessInfo(String)

Localize um elemento DkmRecordedProcessInfo dentro deste DkmTransportConnection. Se nenhum elemento com a chave de entrada fornecida estiver presente, FindRecordedProcessInfo falhará.

Essa API foi introduzida no Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

FindSerializedProcessInfo(String)

Localize um elemento DkmSerializedProcessInfo dentro deste DkmTransportConnection. Se nenhum elemento com a chave de entrada fornecida estiver presente, FindSerializedProcessInfo falhará.

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

FlushClosedObjectQueue()

Essa função é usada para forçar que todas as notificações de fechamento de objeto sejam trocadas imediatamente com o processo de monitor. Como GC. Collect' no código gerenciado, essa função normalmente é desnecessária, pois o sistema libera automaticamente a fila. No entanto, esse método poderá ser usado se for importante que todas as atualizações sejam trocadas imediatamente.

Uma notificação de fechamento de objeto é criada (e enfileirada) quando um componente chama 'Close' em um determinado objeto. O processo do monitor e o processo do mecanismo mantêm uma fila de objetos fechados. Esse método só pode ser chamado do processo do mecanismo, mas é usado para liberar ambas as filas.

Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000).

GetAppPackageExecutionState(DkmAppPackageId, Int32)

Obter o estado de execução do aplicativo da Windows Store. Os valores nesse campo são especificados em PACKAGE_EXECUTION_STATE.

GetClrVersionOfExecutable(String)

Fornece a cadeia de caracteres de versão para o CLR que o depurador espera que um determinado executável carregue. O valor retornado é baseado no conteúdo do cabeçalho PE do executável (se o exe for gerenciado), no arquivo de configuração do executável, nas variáveis de ambiente CLR e na política do carregador no registro. O valor retornado pode estar incorreto, especialmente no caso de um executável nativo.

GetConnections()

GetConnections enumera todos os objetos DkmTransportConnection criados.

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)
GetDefaultClrVersion()

Retorna a versão do CLR que é carregada no processo do monitor.

GetDNSName()

Fornece o nome do host DNS físico que o computador de destino usa.

GetFileListing(String, String, Boolean)

Obtém uma listagem de arquivos e subdiretórios que existem no computador de destino.

GetIsolatedStorageRootForApplication(DkmAppPackageId)

Obtenha o caminho completo para o diretório raiz de armazenamento isolado para o aplicativo especificado.

Essa API ainda não foi implementada para aplicativos da Windows Store, mas está reservada para uso futuro.

GetLiveProcesses()

GetLiveProcesses enumera os elementos DkmProcess deste objeto DkmTransportConnection. Todos os objetos contêm a parte 'Live'.

GetProcesses()

GetProcesses enumera os elementos DkmProcess deste objeto DkmTransportConnection.

GetProductionConnections()

GetProductionConnections enumera os elementos DkmProductionConnection deste objeto DkmTransportConnection.

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

GetRecordedProcesses()

GetRecordedProcesses enumera os elementos DkmRecordedProcessInfo deste objeto DkmTransportConnection.

Essa API foi introduzida no Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

GetRecordedProcessInfo(String)

Obtenha informações sobre um arquivo gravado.

Essa API foi introduzida no Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

GetRequests()

GetRequests enumera os elementos DkmProcessLaunchRequest deste objeto DkmTransportConnection.

GetRunningProcessInfo(Int32, Int64, Boolean, DkmRunningProcessInfoPropertyMask)

Obtenha informações sobre um processo em execução no computador de destino.

GetSerializedProcessInfo(String)

Obtenha informações sobre um arquivo.

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

GetSerializedProcessInformation()

GetSerializedProcessInformation enumera os elementos DkmSerializedProcessInfo deste objeto DkmTransportConnection.

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

GetSystemInformation(Boolean)

Fornece informações sobre o computador em que o monitor de depuração está em execução.

QueryExecutableArchitecture(String)

Obtém a arquitetura do executável.

Essa API foi introduzida no Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

QueryIsWOW64Executable(String)

Preterido. Use QueryExecutableArchitecture. Determina se o arquivo executável especificado será executado no WOW64 (Windows No Windows), que é usado para executar processos de 32 bits em um sistema operacional de 64 bits.

RemoveAppPackageFromTaskbar(DkmAppPackageId, UInt32)

Remove um ícone de aplicativo imersivo da barra de tarefas fechando-o.

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

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)
RemoveDirectory(String, Boolean)

Remove um diretório no computador de destino.

ResumeAppPackage(DkmAppPackageId, Int32)

Executa um currículo de tempo de vida do processo simulado baseado no aplicativo especificado. Isso é usado pelos desenvolvedores para testar o manipulador de currículos do aplicativo.

SetDataItem<T>(DkmDataCreationDisposition, T)

Coloque um novo item no contêiner de dados.

(Herdado de DkmDataContainer)
ShutDownAppPackage(DkmWorkList, DkmAppPackageId, Int32, DkmCompletionRoutine<DkmShutDownAppPackageAsyncResult>)

Suspenda e desligue o aplicativo especificado usando os serviços de gerenciamento de tempo de vida do processo. Usando isso seguido por uma segunda inicialização de aplicativo, os desenvolvedores podem testar a capacidade do aplicativo de reiniciar do estado suspenso.

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.

SuspendAppPackage(DkmWorkList, DkmAppPackageId, Int32, DkmCompletionRoutine<DkmSuspendAppPackageAsyncResult>)

Executa uma suspensão simulada baseada no gerenciamento de tempo de vida do processo no aplicativo especificado. Isso é usado pelos desenvolvedores para testar o manipulador de suspensão do aplicativo.

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.

TakeNonDebugProcessSnapshot(UInt32)

Usa um processo instantâneo de um processo. Os únicos dados retidos são os próprios instantâneo, não há referência a nenhum processo pai.

Essa API foi introduzida no Visual Studio 17 Atualização 6 (DkmApiVersion.VS17Update6).

TerminateAppPackage(DkmWorkList, DkmAppPackageId, Int32, DkmCompletionRoutine<DkmTerminateAppPackageAsyncResult>)

Encerrar um pacote de aplicativos. Usado para garantir que todos os processos associados a um pacote tenham sido interrompidos.

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).

TerminateRunningProcess(Int32, Int64, Int32)

Encerra um processo em execução no computador de destino que não está sendo depurado.

TriggerPrefetch(String, DkmPackagedAppPlatform)

Dispara a pré-busca de conteúdo do aplicativo.

Essa API foi introduzida no Visual Studio 12 Atualização 2 (DkmApiVersion.VS12Update2).

Aplica-se a