DkmTransportConnection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
这表示监视器与 IDE 之间的连接。 如果监视器与 IDE 在同一进程中运行,则它可以是本地连接,也可以是远程连接。 在监视过程中,只有一个连接。
派生类: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
- 继承
- 继承
- 派生
- 属性
属性
DebuggerCpuArchitecture |
监视器端调试器组件的体系结构。 这是组件级别 < 为 100,000 的调试器组件。 此 API 是在 Visual Studio 17 RTM (DkmApiVersion.VS17RTM) 中引入的。 |
Flags |
指示基础连接特征的标志。 |
IsUnloaded |
如果已为此对象引发“unloaded”事件,则返回 true (示例:DkmThread::Unload) 或对象已关闭。 请注意,检查此状态时必须小心,因为如果不进行同步,则返回的状态在读取指令后可能不再准确。 (继承自 DkmDataContainer) |
Kind |
指示用于调试的传输类型。 |
ProtocolVersion |
Visual Studio 与目标计算机之间使用的协议版本。 这是 Visual Studio 了解的最低协议版本,也是远程调试器所理解的协议版本。 此 API 是在 Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1) 中引入的。 |
Qualifier |
[可选]指示连接目标的字符串。 对于本地连接,这将为 null。 对于默认远程调试,这是我们尝试连接到的计算机名称和端口号。 |
UniqueId |
唯一标识此连接的 Guid。 本地连接将使用值“DkmTransportKind.Local”。 将随机生成其他连接的值。 |
方法
ActivateAppPackage(DkmWorkList, DkmPackagedAppPlatform, String, Boolean, DkmCompletionRoutine<DkmActivateAppPackageAsyncResult>) |
激活指定的打包应用程序。 如果应用程序尚未启动,这将导致应用程序启动;如果应用程序已在运行,则会将其恢复为活动应用程序。 在调试器下启动时,IDkmProcessLaunchNotifyListener.StartListener 将在此 API 之前调用。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。 |
ActivateAppPackageExtended(DkmWorkList, DkmPackagedAppPlatform, String, Boolean, DkmActivateAppPackageFlags, DkmCompletionRoutine<DkmActivateAppPackageAsyncResult>) |
激活指定的打包应用程序。 如果应用程序尚未启动,这将导致应用程序启动;如果应用程序已在运行,则会将其恢复为活动应用程序。 在调试器下启动时,IDkmProcessLaunchNotifyListener.StartListener 将在此 API 之前调用。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。 此 API 是在 Visual Studio 14 Update 1 (DkmApiVersion.VS14Update1) 中引入的。 |
ActivateAppPackageOnTargetMonitor(DkmWorkList, DkmPackagedAppPlatform, String, Boolean, UInt32, DkmCompletionRoutine<DkmActivateAppPackageAsyncResult>) |
在指定的监视器上激活打包的应用程序。 如果应用程序尚未启动,这将导致应用程序启动;如果应用程序已在运行,则会将其恢复为活动应用程序。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。 此 API 是在 Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3) 中引入的。 |
ActivateAppPackageWithStartupTask(DkmWorkList, String, Boolean, DkmCompletionRoutine<DkmActivateAppPackageAsyncResult>) |
激活指定的打包应用程序。 如果应用程序尚未启动,这将导致应用程序启动;如果应用程序已在运行,则会将其恢复为活动应用程序。 在调试器下启动时,IDkmProcessLaunchNotifyListener.StartListener 将在此 API 之前调用。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。 此 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 Update 8 (DkmApiVersion.VS16Update8) 中引入的。 |
CreateDirectory(String) |
在目标计算机上创建目录。 请注意,部署文件时会隐式创建目录。 因此,无需在此方案中使用此 API。 |
DeleteFile(String) |
删除目标计算机上的文件。 |
DeployFile(String, String, Boolean) |
将文件部署到目标计算机。 请注意,这会复制文件内容和上次写入时间,但不会复制属性。 位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。 |
DownloadFile(DkmWorkList, String, String, Boolean, DkmCompletionRoutine<DkmDownloadFileAsyncResult>) |
从目标计算机下载文件。 请注意,这会复制文件内容和上次写入时间,但不会复制属性。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。 位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。 |
DownloadFile(String, String, Boolean) |
从目标计算机下载文件。 请注意,这会复制文件内容和上次写入时间,但不会复制属性。 位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。 |
EnumerateBackgroundTasks(DkmWorkList, DkmAppPackageId, Int32, DkmCompletionRoutine<DkmEnumerateBackgroundTasksAsyncResult>) |
枚举现有后台任务。 开发人员使用此函数来测试其应用的枚举处理程序。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。 |
EnumPackages() |
枚举已安装和可启动 (应用程序包的应用程序) 应用程序包。 位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。 |
EnumRunningProcesses(Boolean, DkmRunningProcessInfoPropertyMask) |
提供目标计算机上运行的所有进程的列表 (包括未) 调试的进程。 |
EnumRunningProcesses(DkmWorkList, Boolean, DkmRunningProcessInfoPropertyMask, DkmCompletionRoutine<DkmEnumRunningProcessesAsyncResult>) |
提供目标计算机上运行的所有进程的列表 (包括未) 调试的进程。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。 |
ExtractFromDeployConnection(IVsDebuggerDeployConnection) |
获取支持部署连接的 DkmTransportConnection 对象。 这可用于从调试器部署 API 到调试器引擎的桥接, (Dkm) API。 例如,这可用于发送 DkmCustomMessages。 调用方仍必须持有 deployConnection,以避免释放基础 DkmTransportConnection。 请注意,默认情况下,将在停止调试期间卸载协和组件。 可以通过在组件的 .vsdconfigxml 文件中设置“StayLoadedForDeployConnection=”true“来覆盖此行为。 如果调用方想要提取部署连接以发送自定义消息,并且希望在调试器会话结束后执行此操作,则这非常有用。 |
ExtractFromPort(IDebugPort2) |
获取支持此端口对象的 DkmTransportConnection 对象。 如果端口当前未连接且重新连接失败,则远程调试方案将失败。 此 API 只能从 Visual Studio 的main线程中正常运行。 |
FindConnection(Guid) |
查找 DkmTransportConnection 对象。 如果不存在具有给定输入键的对象,FindConnection 将失败。 |
FindLiveProcess(Int32) |
在此 DkmTransportConnection 中查找 DkmProcess 元素。 如果不存在具有给定输入键的元素,FindLiveProcess 将失败。 如果找到对象,它将始终包含“Live”部件。 |
FindProcess(Guid) |
在此 DkmTransportConnection 中查找 DkmProcess 元素。 如果不存在具有给定输入键的元素,FindProcess 将失败。 |
FindProductionConnection(Guid) |
在此 DkmTransportConnection 中查找 DkmProductionConnection 元素。 如果不存在具有给定输入键的元素,FindProductionConnection 将失败。 此 API 是在 Visual Studio 15 Update 2 (DkmApiVersion.VS15Update2) 中引入的。 |
FindRecordedProcessInfo(String) |
在此 DkmTransportConnection 中查找 DkmRecordedProcessInfo 元素。 如果不存在具有给定输入键的元素,FindRecordedProcessInfo 将失败。 此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。 |
FindSerializedProcessInfo(String) |
在此 DkmTransportConnection 中查找 DkmSerializedProcessInfo 元素。 如果不存在具有给定输入键的元素,FindSerializedProcessInfo 将失败。 此 API 是在 Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) 中引入的。 |
FlushClosedObjectQueue() |
此函数用于强制所有对象关闭通知立即与监视进程交换。 像 'GC。在托管代码中收集',此函数通常是不必要的,因为系统会自动刷新队列。 但是,如果必须立即交换所有更新,则可以使用此方法。 当组件对给定对象调用“Close”时,会 (创建对象关闭通知,并在) 排队。 监视进程和引擎进程都维护一个已关闭对象的队列。 此方法只能从引擎进程调用,但它用于刷新两个队列。 位置约束:必须从 IDE 组件 (组件级别 > 100,000) 调用 API。 |
GetAppPackageExecutionState(DkmAppPackageId, Int32) |
获取 Windows 应用商店应用的执行状态。 此字段中的值在 PACKAGE_EXECUTION_STATE 中指定。 |
GetClrVersionOfExecutable(String) |
为调试器需要加载给定可执行文件的 CLR 提供版本字符串。 如果可执行文件) 、可执行文件的配置文件、CLR 环境变量和注册表中的加载程序策略,则返回值基于可执行文件的 PE 标头的内容 (。 返回值可能不正确,尤其是在本机可执行文件的情况下。 |
GetConnections() |
GetConnections 枚举所有创建的 DkmTransportConnection 对象。 |
GetDataItem<T>() |
获取已添加到此容器实例的“T”实例。 如果此容器不包含“T”,则此函数将返回 null。 (继承自 DkmDataContainer) |
GetDefaultClrVersion() |
返回在监视进程中加载的 CLR 版本。 |
GetDNSName() |
提供目标计算机使用的物理 DNS 主机名。 |
GetFileListing(String, String, Boolean) |
获取目标计算机上存在的文件和子目录的列表。 |
GetIsolatedStorageRootForApplication(DkmAppPackageId) |
获取指定应用程序的独立存储根目录的完整路径。 此 API 尚未为 Windows 应用商店应用实现,但保留供将来使用。 |
GetLiveProcesses() |
GetLiveProcesses 枚举此 DkmTransportConnectionobject 的 DkmProcess 元素。 所有对象都包含“Live”部件。 |
GetProcesses() |
GetProcesses 枚举此 DkmTransportConnection 对象的 DkmProcess 元素。 |
GetProductionConnections() |
GetProductionConnections 枚举此 DkmTransportConnection 对象的 DkmProductionConnection 元素。 此 API 是在 Visual Studio 15 Update 2 (DkmApiVersion.VS15Update2) 中引入的。 |
GetRecordedProcesses() |
GetRecordedProcesses 枚举此 DkmTransportConnection 对象的 DkmRecordedProcessInfo 元素。 此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。 |
GetRecordedProcessInfo(String) |
获取有关记录的文件的信息。 此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引入的。 |
GetRequests() |
GetRequests 枚举此 DkmTransportConnection 对象的 DkmProcessLaunchRequest 元素。 |
GetRunningProcessInfo(Int32, Int64, Boolean, DkmRunningProcessInfoPropertyMask) |
获取有关目标计算机上运行的进程的信息。 |
GetSerializedProcessInfo(String) |
获取有关文件的信息。 此 API 是在 Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) 中引入的。 |
GetSerializedProcessInformation() |
GetSerializedProcessInformation 枚举此 DkmTransportConnection 对象的 DkmSerializedProcessInfo 元素。 此 API 是在 Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) 中引入的。 |
GetSystemInformation(Boolean) |
提供有关运行调试监视器的计算机的信息。 |
QueryExecutableArchitecture(String) |
获取可执行文件的体系结构。 此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) 中引入的。 |
QueryIsWOW64Executable(String) |
已弃用。 使用 QueryExecutableArchitecture。 确定给定的可执行文件是否将在 WOW64 (Windows On Windows) 中执行,后者用于在 64 位 OS 上执行 32 位进程。 |
RemoveAppPackageFromTaskbar(DkmAppPackageId, UInt32) |
通过关闭任务栏删除沉浸式应用图标。 此 API 是在 Visual Studio 12 Update 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) |
将进程快照。 唯一保留的数据是快照本身,没有任何引用回任何父进程。 此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 中引入的。 |
TerminateAppPackage(DkmWorkList, DkmAppPackageId, Int32, DkmCompletionRoutine<DkmTerminateAppPackageAsyncResult>) |
终止应用包。 用于确保与包关联的所有进程都已停止。 此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。 此 API 是在 Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9) 中引入的。 |
TerminateRunningProcess(Int32, Int64, Int32) |
终止未调试的目标计算机上运行的进程。 |
TriggerPrefetch(String, DkmPackagedAppPlatform) |
触发应用程序内容预提取。 此 API 是在 Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2) 中引入的。 |