DkmTransportConnection Класс

Определение

Это представляет собой соединение между монитором и интегрированной среды разработки. Это может быть локальное подключение, если монитор выполняется в том же процессе, что и интегрированная среда разработки, или удаленное подключение. В процессе мониторинга имеется только одно подключение.

Производные классы: 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
Наследование
DkmTransportConnection
Наследование
DkmTransportConnection
Производный
Атрибуты

Свойства

DebuggerCpuArchitecture

Архитектура компонентов отладчика на стороне монитора. Это компоненты отладчика с уровнем < компонентов 100 000.

Этот API появился в Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

Flags

Флаги, указывающие признаки базового соединения.

IsUnloaded

Возвращает значение true, если для этого объекта было вызвано событие "unloaded" (например, вызывается DkmThread::Unload) или если объект был закрыт. Обратите внимание, что при проверке этого состояния необходимо соблюдать осторожность, так как без синхронизации возвращаемое состояние может быть не точным после прочтения инструкции.

(Унаследовано от DkmDataContainer)
Kind

Указывает тип транспорта, используемого для отладки.

ProtocolVersion

Версия протокола, используемого между Visual Studio и целевым компьютером. Это минимальная версия протокола, понятная Visual Studio, и версия протокола, которую понимает удаленный отладчик.

Этот API появился в Visual Studio 11 с обновлением 1 (DkmApiVersion.VS11FeaturePack1).

Qualifier

[Необязательно] Строка, указывающая назначение подключения. Это значение будет иметь значение NULL для локального подключения. Для удаленной отладки по умолчанию это имя компьютера и номер порта, к которым мы пытаемся подключиться.

UniqueId

Guid, который однозначно идентифицирует это подключение. Локальное подключение будет использовать значение "DkmTransportKind.Local". Значение для других подключений будет создано случайным образом.

Методы

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

Активирует указанное упакованое приложение. Это приведет к запуску приложения, если оно еще не запущено, и возвратит его в качестве активного приложения, если оно уже запущено. При запуске в отладчике перед этим API будет вызываться IDkmProcessLaunchNotifyListener.StartListener.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

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

Активирует указанное упакованое приложение. Это приведет к запуску приложения, если оно еще не запущено, и возвратит его в качестве активного приложения, если оно уже запущено. При запуске в отладчике перед этим API будет вызываться IDkmProcessLaunchNotifyListener.StartListener.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

Этот API появился в Visual Studio 14 с обновлением 1 (DkmApiVersion.VS14Update1).

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

Активирует упакованое приложение на указанном мониторе. Это приведет к запуску приложения, если оно еще не запущено, и возвратит его в качестве активного приложения, если оно уже запущено.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

Этот API появился в Visual Studio 12 с обновлением 3 (DkmApiVersion.VS12Update3).

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

Активирует указанное упакованое приложение. Это приведет к запуску приложения, если оно еще не запущено, и возвратит его в качестве активного приложения, если оно уже запущено. При запуске в отладчике перед этим API будет вызываться IDkmProcessLaunchNotifyListener.StartListener.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

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

Активация фоновой задачи. Он используется разработчиками для тестирования обработчика активации приложения.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

CreateCoreDumpParserTargetCompositionServices(String, Object)

Create экземпляр IDebugServiceManager для сценария анализа основных файлов, который можно использовать для доступа к расширениям на основе целевой композиции. Когда DkmProcess станет доступным, вызовите SetCoreDumpParserTargetCompositionServices, чтобы экземпляр можно было правильно кэшировать.

Ограничение расположения. Интерфейсы целевой композиции не могут быть маршалированы между компьютерами, но они безопасны для использования, если они доступны.

Этот API появился в Visual Studio 16 с обновлением 8 (DkmApiVersion.VS16Update8).

CreateDirectory(String)

Создает каталог на целевом компьютере. Обратите внимание, что каталоги создаются неявно при развертывании файлов. Поэтому этот API не требуется использовать в этом сценарии.

DeleteFile(String)

Удаление файла на целевом компьютере.

DeployFile(String, String, Boolean)

Разверните файл на целевом компьютере. Обратите внимание, что при этом будет скопировано содержимое файла и время последней записи, но не атрибуты.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

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

Скачайте файл с целевого компьютера. Обратите внимание, что при этом будет скопировано содержимое файла и время последней записи, но не атрибуты.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

DownloadFile(String, String, Boolean)

Скачайте файл с целевого компьютера. Обратите внимание, что при этом будет скопировано содержимое файла и время последней записи, но не атрибуты.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

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

Перечисляет существующие фоновые задачи. Он используется разработчиками для тестирования обработчика перечисления приложения.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

EnumPackages()

Перечисляет установленные и запускаемые пакеты приложений (пакеты приложений с приложениями).

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

EnumRunningProcesses(Boolean, DkmRunningProcessInfoPropertyMask)

Предоставляет список всех процессов, запущенных на целевом компьютере (включая процессы, которые не отлаживаются).

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

Предоставляет список всех процессов, запущенных на целевом компьютере (включая процессы, которые не отлаживаются).

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

ExtractFromDeployConnection(IVsDebuggerDeployConnection)

Получает объект DkmTransportConnection, который поддерживает развертывание подключения. Его можно использовать для моста между API развертывания отладчика и API-интерфейсами обработчика отладчика (Dkm). Например, его можно использовать для отправки DkmCustomMessages.

Вызывающий объект по-прежнему должен удерживать deployConnection, чтобы избежать удаления базового DkmTransportConnection. Обратите внимание, что по умолчанию компоненты concord будут выгружены во время остановки отладки. Это поведение можно перезаписать, задав "StayLoadedForDeployConnection="true"" в vsdconfigxml-файле компонента. Это полезно, если вызывающий объект хочет извлечь подключение развертывания для отправки пользовательских сообщений и хочет сделать это после завершения сеанса отладчика.

ExtractFromPort(IDebugPort2)

Получает объект DkmTransportConnection, который поддерживает этот объект порта. Это приведет к сбою в сценариях удаленной отладки, если порт в настоящее время не подключен и повторное подключение завершилось неудачно. Этот API будет правильно работать только из потока main Visual Studio.

FindConnection(Guid)

Найдите объект DkmTransportConnection. Если нет объекта с заданным входным ключом, findConnection завершится ошибкой.

FindLiveProcess(Int32)

Найдите элемент DkmProcess в этом DkmTransportConnection. Если нет элемента с заданным входным ключом, FindLiveProcess завершится ошибкой. Если объект найден, он всегда будет содержать динамическую часть.

FindProcess(Guid)

Найдите элемент DkmProcess в этом DkmTransportConnection. Если нет элемента с заданным входным ключом, findProcess завершится ошибкой.

FindProductionConnection(Guid)

Найдите элемент DkmProductionConnection в этом DkmTransportConnection. Если нет элемента с заданным входным ключом, FindProductionConnection завершится ошибкой.

Этот API появился в Visual Studio 15 с обновлением 2 (DkmApiVersion.VS15Update2).

FindRecordedProcessInfo(String)

Найдите элемент DkmRecordedProcessInfo в этом DkmTransportConnection. Если нет элемента с заданным входным ключом, findRecordedProcessInfo завершится ошибкой.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

FindSerializedProcessInfo(String)

Найдите элемент DkmSerializedProcessInfo в этом DkmTransportConnection. Если нет элемента с заданным входным ключом, FindSerializedProcessInfo завершится ошибкой.

Этот API появился в Visual Studio 16 с обновлением 8 (DkmApiVersion.VS16Update8).

FlushClosedObjectQueue()

Эта функция используется для немедленного обмена всеми уведомлениями о закрытии объектов с процессом мониторинга. Как 'GC. Сбор данных в управляемом коде эта функция обычно не нужна, так как система автоматически очищает очередь. Однако этот метод можно использовать, если важно, чтобы все обновления были немедленно заменены.

Уведомление о закрытии объекта создается (и помещается в очередь), когда компонент вызывает "Закрыть" для заданного объекта. Процесс мониторинга и процесс обработчика поддерживают очередь закрытых объектов. Этот метод можно вызывать только из процесса обработчика, но он используется для очистки обеих очередей.

Ограничение расположения: API должен вызываться из компонента интегрированной среды разработки (уровень > компонента 100 000).

GetAppPackageExecutionState(DkmAppPackageId, Int32)

Получение состояния выполнения приложения Магазина Windows. Значения в этом поле указываются в PACKAGE_EXECUTION_STATE.

GetClrVersionOfExecutable(String)

Предоставляет строку версии для среды CLR, которую отладчик ожидает загрузить данный исполняемый файл. Возвращаемое значение основано на содержимом заголовка PE исполняемого файла (если исполняемый файл управляется), файла конфигурации исполняемого файла, переменных среды CLR и политики загрузчика в реестре. Возвращаемое значение может быть неверным, особенно в случае собственного исполняемого файла.

GetConnections()

GetConnections перечисляет все созданные объекты DkmTransportConnection.

GetDataItem<T>()

Возвращает экземпляр T, который был добавлен в этот экземпляр контейнера. Если этот контейнер не содержит "T", эта функция возвращает значение NULL.

(Унаследовано от DkmDataContainer)
GetDefaultClrVersion()

Возвращает версию среды CLR, которая загружается в процессе мониторинга.

GetDNSName()

Предоставляет физическое имя узла DNS, используемое целевым компьютером.

GetFileListing(String, String, Boolean)

Получает список файлов и подкаталогов, которые существуют на целевом компьютере.

GetIsolatedStorageRootForApplication(DkmAppPackageId)

Получите полный путь к корневому каталогу изолированного хранилища для указанного приложения.

Этот API еще не реализован для приложений Магазина Windows, но зарезервирован для использования в будущем.

GetLiveProcesses()

GetLiveProcesses перечисляет элементы DkmProcess этого объекта DkmTransportConnection. Все объекты содержат динамическую часть.

GetProcesses()

GetProcesses перечисляет элементы DkmProcess этого объекта DkmTransportConnection.

GetProductionConnections()

GetProductionConnections перечисляет элементы DkmProductionConnection этого объекта DkmTransportConnection.

Этот API появился в Visual Studio 15 с обновлением 2 (DkmApiVersion.VS15Update2).

GetRecordedProcesses()

GetRecordedProcesses перечисляет элементы DkmRecordedProcessInfo этого объекта DkmTransportConnection.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

GetRecordedProcessInfo(String)

Получение сведений о записанном файле.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

GetRequests()

GetRequests перечисляет элементы DkmProcessLaunchRequest этого объекта DkmTransportConnection.

GetRunningProcessInfo(Int32, Int64, Boolean, DkmRunningProcessInfoPropertyMask)

Получение сведений о процессе, выполняемом на целевом компьютере.

GetSerializedProcessInfo(String)

Получение сведений о файле.

Этот API появился в Visual Studio 16 с обновлением 8 (DkmApiVersion.VS16Update8).

GetSerializedProcessInformation()

GetSerializedProcessInformation перечисляет элементы DkmSerializedProcessInfo этого объекта DkmTransportConnection.

Этот API появился в Visual Studio 16 с обновлением 8 (DkmApiVersion.VS16Update8).

GetSystemInformation(Boolean)

Предоставляет сведения о компьютере, на котором запущен отладочный монитор.

QueryExecutableArchitecture(String)

Возвращает архитектуру исполняемого файла.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

QueryIsWOW64Executable(String)

Не рекомендуется. Используйте QueryExecutableArchitecture. Определяет, будет ли данный исполняемый файл выполняться в WOW64 (Windows в Windows), который используется для выполнения 32-разрядных процессов в 64-разрядной ОС.

RemoveAppPackageFromTaskbar(DkmAppPackageId, UInt32)

Удаляет значок иммерсивного приложения с панели задач, закрывая его.

Этот API появился в Visual Studio 12 с обновлением 3 (DkmApiVersion.VS12Update3).

RemoveDataItem<T>()

Удалите экземпляр T из этого контейнера. Обычно не требуется вызывать этот метод, так как контейнер данных автоматически очищается при закрытии объекта.

(Унаследовано от DkmDataContainer)
RemoveDirectory(String, Boolean)

Удаляет каталог на целевом компьютере.

ResumeAppPackage(DkmAppPackageId, Int32)

Выполняет имитированное возобновление управления жизненным циклом процесса на основе указанного приложения. Он используется разработчиками для тестирования обработчика резюме приложения.

SetDataItem<T>(DkmDataCreationDisposition, T)

Поместите новый элемент в контейнер данных.

(Унаследовано от DkmDataContainer)
ShutDownAppPackage(DkmWorkList, DkmAppPackageId, Int32, DkmCompletionRoutine<DkmShutDownAppPackageAsyncResult>)

Приостановите и завершите работу указанного приложения с помощью служб управления жизненным циклом процесса. С помощью этого и второго запуска приложения разработчики могут проверить возможность перезапуска приложения из приостановленного состояния.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

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

Выполняет приостановку управления жизненным циклом имитированного процесса на основе указанного приложения. Он используется разработчиками для тестирования обработчика приостановки приложения.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

TakeNonDebugProcessSnapshot(UInt32)

Принимает процесс snapshot процесса. Единственными данными, которые хранятся, является сам snapshot, ссылки на родительский процесс не имеются.

Этот API появился в Visual Studio 17 с обновлением 6 (DkmApiVersion.VS17Update6).

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

Завершение пакета приложения. Используется для остановки всех процессов, связанных с пакетом.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента является асинхронной. Вызывающий объект получит уведомление о том, что запрос завершен с помощью процедуры завершения.

Этот API появился в Visual Studio 16 с обновлением 9 (DkmApiVersion.VS16Update9).

TerminateRunningProcess(Int32, Int64, Int32)

Завершает процесс, запущенный на целевом компьютере, который не выполняет отладку.

TriggerPrefetch(String, DkmPackagedAppPlatform)

Активирует предварительную выборку содержимого приложения.

Этот API появился в Visual Studio 12 с обновлением 2 (DkmApiVersion.VS12Update2).

Применяется к