Share via


DkmTransportConnection Klasse

Definition

Dies stellt eine Verbindung zwischen dem Monitor und der IDE dar. Es kann sich entweder um eine lokale Verbindung handelt, wenn der Monitor im selben Prozess wie die IDE ausgeführt wird, oder es kann sich um eine Remoteverbindung handelt. Im Überwachungsprozess gibt es nur eine Verbindung.

Abgeleitete Klassen: 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
Vererbung
DkmTransportConnection
Vererbung
DkmTransportConnection
Abgeleitet
Attribute

Eigenschaften

DebuggerCpuArchitecture

Architektur von monitorseitigen Debuggerkomponenten. Das sind Debuggerkomponenten mit Komponentenebene < 100.000.

Diese API wurde in Visual Studio 17 RTM (DkmApiVersion.VS17RTM) eingeführt.

Flags

Flags, die Merkmale der zugrunde liegenden Verbindung angeben.

IsUnloaded

Gibt true zurück, wenn ein "unloaded"-Ereignis für dieses Objekt ausgelöst wurde (Beispiel: DkmThread::Unload wird aufgerufen) oder wenn das Objekt geschlossen wurde. Beachten Sie, dass bei der Überprüfung dieses status Vorsicht erforderlich ist, da die zurückgegebene status ohne Synchronisierung die Anweisung nach dem Lesen möglicherweise nicht mehr korrekt ist.

(Geerbt von DkmDataContainer)
Kind

Gibt den Typ des Transports an, der zum Debuggen verwendet wird.

ProtocolVersion

Die Version des zwischen Visual Studio und dem Zielcomputer verwendeten Protokolls. Dies ist das Minimum der Protokollversion, die Visual Studio versteht, und die Protokollversion, die der Remotedebugger versteht.

Diese API wurde in Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1) eingeführt.

Qualifier

[Optional] Zeichenfolge, die das Verbindungsziel angibt. Dies ist null für die lokale Verbindung. Beim Standardmäßigen Remotedebuggen sind dies Computername und Portnummer, mit denen wir eine Verbindung herstellen möchten.

UniqueId

Guid, die diese Verbindung eindeutig identifiziert. Die lokale Verbindung verwendet den Wert "DkmTransportKind.Local". Der Wert für andere Verbindungen wird nach dem Zufallsprinzip generiert.

Methoden

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

Aktiviert die angegebene gepackte Anwendung. Dies führt dazu, dass die Anwendung gestartet wird, wenn sie noch nicht gestartet wurde, und sie als aktive Anwendung zurückgibt, wenn sie bereits ausgeführt wird. Beim Starten unter dem Debugger wird IDkmProcessLaunchNotifyListener.StartListener vor dieser API aufgerufen.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

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

Aktiviert die angegebene gepackte Anwendung. Dies führt dazu, dass die Anwendung gestartet wird, wenn sie noch nicht gestartet wurde, und sie als aktive Anwendung zurückgibt, wenn sie bereits ausgeführt wird. Beim Starten unter dem Debugger wird IDkmProcessLaunchNotifyListener.StartListener vor dieser API aufgerufen.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Diese API wurde in Visual Studio 14 Update 1 (DkmApiVersion.VS14Update1) eingeführt.

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

Aktiviert eine gepackte Anwendung auf dem angegebenen Monitor. Dies führt dazu, dass die Anwendung gestartet wird, wenn sie noch nicht gestartet wurde, und sie als aktive Anwendung zurückgibt, wenn sie bereits ausgeführt wird.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Diese API wurde in Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3) eingeführt.

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

Aktiviert die angegebene gepackte Anwendung. Dies führt dazu, dass die Anwendung gestartet wird, wenn sie noch nicht gestartet wurde, und sie als aktive Anwendung zurückgibt, wenn sie bereits ausgeführt wird. Beim Starten unter dem Debugger wird IDkmProcessLaunchNotifyListener.StartListener vor dieser API aufgerufen.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Diese API wurde in Visual Studio 14 RTM (DkmApiVersion.VS14RTM) eingeführt.

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

Aktivieren sie eine Hintergrundaufgabe. Dies wird von Entwicklern verwendet, um den Aktivierungshandler ihrer App zu testen.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

CreateCoreDumpParserTargetCompositionServices(String, Object)

Create eine instance von IDebugServiceManager für das Core-Dateianalyseszenario, das für den Zugriff auf zielkompositionsbasierte Erweiterungen verwendet werden kann. Sobald DkmProcess verfügbar ist, rufen Sie SetCoreDumpParserTargetCompositionServices auf, damit die instance ordnungsgemäß zwischengespeichert werden kann.

Standorteinschränkung: Zielkompositionsschnittstellen können nicht computerübergreifend gemarshallt werden, können aber, falls verfügbar, sicher verwendet werden.

Diese API wurde in Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) eingeführt.

CreateDirectory(String)

Erstellt ein Verzeichnis auf dem Zielcomputer. Beachten Sie, dass Verzeichnisse implizit erstellt werden, wenn Dateien bereitgestellt werden. Daher muss diese API in diesem Szenario nicht verwendet werden.

DeleteFile(String)

Löschen Sie eine Datei auf dem Zielcomputer.

DeployFile(String, String, Boolean)

Stellen Sie eine Datei auf dem Zielcomputer bereit. Beachten Sie, dass dadurch der Dateiinhalt und die Uhrzeit des letzten Schreibvorgangs kopiert werden, jedoch keine Attribute.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

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

Laden Sie eine Datei vom Zielcomputer herunter. Beachten Sie, dass dadurch der Dateiinhalt und die Uhrzeit des letzten Schreibvorgangs kopiert werden, jedoch keine Attribute.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

DownloadFile(String, String, Boolean)

Laden Sie eine Datei vom Zielcomputer herunter. Beachten Sie, dass dadurch der Dateiinhalt und die Uhrzeit des letzten Schreibvorgangs kopiert werden, jedoch keine Attribute.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

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

Listet die vorhandenen Hintergrundaufgaben auf. Dies wird von Entwicklern verwendet, um den Enumerationshandler ihrer App zu testen.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

EnumPackages()

Listet installierte und startbare (App-Pakete mit Anwendungen) App-Pakete auf.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

EnumRunningProcesses(Boolean, DkmRunningProcessInfoPropertyMask)

Stellt eine Liste aller Prozesse bereit, die auf dem Zielcomputer ausgeführt werden (einschließlich der Prozesse, die nicht debuggt werden).

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

Stellt eine Liste aller Prozesse bereit, die auf dem Zielcomputer ausgeführt werden (einschließlich der Prozesse, die nicht debuggt werden).

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

ExtractFromDeployConnection(IVsDebuggerDeployConnection)

Ruft das DkmTransportConnection-Objekt ab, das die Bereitstellungsverbindung zurückgibt. Dies kann verwendet werden, um eine Brücke zwischen der Debuggerbereitstellungs-API und den Debugger-Engine-APIs (Dkm) herzustellen. Dies kann beispielsweise verwendet werden, um DkmCustomMessages zu senden.

Der Aufrufer muss weiterhin deployConnection beibehalten, um zu verhindern, dass die zugrunde liegende DkmTransportConnection verworfen wird. Beachten Sie, dass Concord-Komponenten standardmäßig während des Debuggens entladen werden. Dieses Verhalten kann überschrieben werden, indem "StayLoadedForDeployConnection="true" in der VSDCONFIGXML-Datei der Komponente festgelegt wird. Dies ist nützlich, wenn der Aufrufer die Bereitstellungsverbindung extrahieren möchte, um benutzerdefinierte Nachrichten zu senden, und dies nach Dem Beenden der Debuggersitzung tun möchte.

ExtractFromPort(IDebugPort2)

Ruft das DkmTransportConnection-Objekt ab, das dieses Portobjekt zurückgibt. Dies schlägt in Remotedebugszenarien fehl, wenn der Port derzeit nicht verbunden ist und die erneute Verbindung nicht erfolgreich war. Diese API funktioniert nur über den Standard Thread von Visual Studio ordnungsgemäß.

FindConnection(Guid)

Suchen Sie ein DkmTransportConnection-Objekt. Wenn kein Objekt mit dem angegebenen Eingabeschlüssel vorhanden ist, schlägt FindConnection fehl.

FindLiveProcess(Int32)

Suchen Sie ein DkmProcess-Element in dieser DkmTransportConnection. Wenn kein Element mit dem angegebenen Eingabeschlüssel vorhanden ist, schlägt FindLiveProcess fehl. Wenn ein Objekt gefunden wird, enthält es immer den "Live"-Teil.

FindProcess(Guid)

Suchen Sie ein DkmProcess-Element in dieser DkmTransportConnection. Wenn kein Element mit dem angegebenen Eingabeschlüssel vorhanden ist, schlägt FindProcess fehl.

FindProductionConnection(Guid)

Suchen Sie ein DkmProductionConnection-Element in dieser DkmTransportConnection. Wenn kein Element mit dem angegebenen Eingabeschlüssel vorhanden ist, schlägt FindProductionConnection fehl.

Diese API wurde in Visual Studio 15 Update 2 (DkmApiVersion.VS15Update2) eingeführt.

FindRecordedProcessInfo(String)

Suchen Sie ein DkmRecordedProcessInfo-Element in dieser DkmTransportConnection. Wenn kein Element mit dem angegebenen Eingabeschlüssel vorhanden ist, schlägt FindRecordedProcessInfo fehl.

Diese API wurde in Visual Studio 16 RTM (DkmApiVersion.VS16RTM) eingeführt.

FindSerializedProcessInfo(String)

Suchen Sie ein DkmSerializedProcessInfo-Element in dieser DkmTransportConnection. Wenn kein Element mit dem angegebenen Eingabeschlüssel vorhanden ist, schlägt FindSerializedProcessInfo fehl.

Diese API wurde in Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) eingeführt.

FlushClosedObjectQueue()

Diese Funktion wird verwendet, um zu erzwingen, dass alle Objektschließbenachrichtigungen sofort mit dem Monitorprozess ausgetauscht werden. Wie 'GC. Sammeln" in verwaltetem Code ist diese Funktion normalerweise unnötig, da das System die Warteschlange automatisch leert. Diese Methode kann jedoch verwendet werden, wenn es wichtig ist, dass alle Updates sofort ausgetauscht werden.

Eine Benachrichtigung zum Schließen des Objekts wird erstellt (und in die Warteschlange gestellt), wenn eine Komponente "Close" für ein bestimmtes Objekt aufruft. Sowohl der Überwachungsprozess als auch der Engine-Prozess verwalten eine Warteschlange geschlossener Objekte. Diese Methode kann nur vom Engine-Prozess aufgerufen werden, wird jedoch verwendet, um beide Warteschlangen zu leeren.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

GetAppPackageExecutionState(DkmAppPackageId, Int32)

Ruft den Ausführungsstatus der Windows Store-App ab. Die Werte in diesem Feld werden in PACKAGE_EXECUTION_STATE angegeben.

GetClrVersionOfExecutable(String)

Stellt die Versionszeichenfolge für die CLR bereit, die vom Debugger erwartet wird, dass eine bestimmte ausführbare Datei geladen wird. Der Rückgabewert basiert auf dem Inhalt des PE-Headers der ausführbaren Datei (wenn die Exe verwaltet wird), der Konfigurationsdatei der ausführbaren Datei, CLR-Umgebungsvariablen und der Ladeprogrammrichtlinie in der Registrierung. Der Rückgabewert kann falsch sein, insbesondere im Fall einer nativen ausführbaren Datei.

GetConnections()

GetConnections listet alle erstellten DkmTransportConnection-Objekte auf.

GetDataItem<T>()

Ruft den instance von "T" ab, der diesem Container instance hinzugefügt wurde. Wenn dieser Container kein "T" enthält, gibt diese Funktion NULL zurück.

(Geerbt von DkmDataContainer)
GetDefaultClrVersion()

Gibt die Version der CLR zurück, die im Überwachungsprozess geladen wird.

GetDNSName()

Gibt den physischen DNS-Hostnamen an, den der Zielcomputer verwendet.

GetFileListing(String, String, Boolean)

Ruft eine Liste der Dateien und Unterverzeichnisse ab, die auf dem Zielcomputer vorhanden sind.

GetIsolatedStorageRootForApplication(DkmAppPackageId)

Rufen Sie den vollständigen Pfad zum Stammverzeichnis des isolierten Speichers für die angegebene Anwendung ab.

Diese API ist noch nicht für Windows Store-Apps implementiert, ist aber für die zukünftige Verwendung reserviert.

GetLiveProcesses()

GetLiveProcesses listet die DkmProcess-Elemente dieses DkmTransportConnection-Objekts auf. Alle -Objekte enthalten den "Live"-Teil.

GetProcesses()

GetProcesses listet die DkmProcess-Elemente dieses DkmTransportConnection-Objekts auf.

GetProductionConnections()

GetProductionConnections listet die DkmProductionConnection-Elemente dieses DkmTransportConnection-Objekts auf.

Diese API wurde in Visual Studio 15 Update 2 (DkmApiVersion.VS15Update2) eingeführt.

GetRecordedProcesses()

GetRecordedProcesses listet die DkmRecordedProcessInfo-Elemente dieses DkmTransportConnection-Objekts auf.

Diese API wurde in Visual Studio 16 RTM (DkmApiVersion.VS16RTM) eingeführt.

GetRecordedProcessInfo(String)

Abrufen von Informationen zu einer aufgezeichneten Datei.

Diese API wurde in Visual Studio 16 RTM (DkmApiVersion.VS16RTM) eingeführt.

GetRequests()

GetRequests listet die DkmProcessLaunchRequest-Elemente dieses DkmTransportConnection-Objekts auf.

GetRunningProcessInfo(Int32, Int64, Boolean, DkmRunningProcessInfoPropertyMask)

Abrufen von Informationen zu einem Prozess, der auf dem Zielcomputer ausgeführt wird.

GetSerializedProcessInfo(String)

Rufen Sie Informationen zu einer Datei ab.

Diese API wurde in Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) eingeführt.

GetSerializedProcessInformation()

GetSerializedProcessInformation listet die DkmSerializedProcessInfo-Elemente dieses DkmTransportConnection-Objekts auf.

Diese API wurde in Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) eingeführt.

GetSystemInformation(Boolean)

Stellt Informationen zu dem Computer bereit, auf dem der Debugmonitor ausgeführt wird.

QueryExecutableArchitecture(String)

Ruft die Architektur der ausführbaren Datei ab.

Diese API wurde in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) eingeführt.

QueryIsWOW64Executable(String)

Veraltet. Verwenden Sie QueryExecutableArchitecture. Bestimmt, ob die angegebene ausführbare Datei in WOW64 (Windows unter Windows) ausgeführt wird, das zum Ausführen von 32-Bit-Prozessen auf einem 64-Bit-Betriebssystem verwendet wird.

RemoveAppPackageFromTaskbar(DkmAppPackageId, UInt32)

Entfernt ein immersives App-Symbol aus der Taskleiste, indem es geschlossen wird.

Diese API wurde in Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3) eingeführt.

RemoveDataItem<T>()

Entfernen Sie die instance von "T" aus diesem Container. Es ist in der Regel nicht erforderlich, diese Methode aufzurufen, da ein Datencontainer automatisch geleert wird, wenn das Objekt geschlossen wird.

(Geerbt von DkmDataContainer)
RemoveDirectory(String, Boolean)

Entfernt ein Verzeichnis auf dem Zielcomputer.

ResumeAppPackage(DkmAppPackageId, Int32)

Führt einen simulierten Prozesslebensdauer-basierten Lebenslauf für die angegebene Anwendung aus. Dies wird von Entwicklern verwendet, um den Lebenslaufhandler ihrer App zu testen.

SetDataItem<T>(DkmDataCreationDisposition, T)

Platzieren Sie ein neues Element im Datencontainer.

(Geerbt von DkmDataContainer)
ShutDownAppPackage(DkmWorkList, DkmAppPackageId, Int32, DkmCompletionRoutine<DkmShutDownAppPackageAsyncResult>)

Halten Sie die angegebene Anwendung an, und fahren Sie sie dann mithilfe der Prozesslebensdauer-Verwaltungsdienste herunter. Mithilfe dieser App, gefolgt von einem zweiten App-Start, können Entwickler die Fähigkeit ihrer App testen, aus dem angehaltenen Zustand neu zu starten.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

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

Führt für die angegebene Anwendung eine auf der Verwaltung basierende, simulierte Prozesslebensdauer aus. Dies wird von Entwicklern verwendet, um den Suspend-Handler ihrer App zu testen.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

TakeNonDebugProcessSnapshot(UInt32)

Übernimmt einen Prozess Momentaufnahme eines Prozesses. Die einzigen Daten, die aufbewahrt werden, sind die Momentaufnahme selbst, es gibt keinen Verweis zurück auf übergeordnete Prozesse.

Diese API wurde in Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) eingeführt.

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

Beenden sie ein App-Paket. Wird verwendet, um sicherzustellen, dass alle Prozesse, die einem Paket zugeordnet sind, beendet wurden.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Diese API wurde in Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9) eingeführt.

TerminateRunningProcess(Int32, Int64, Int32)

Beendet einen Prozess, der auf dem Zielcomputer ausgeführt wird, der nicht debuggt wird.

TriggerPrefetch(String, DkmPackagedAppPlatform)

Löst den Vorabruf von Anwendungsinhalten aus.

Diese API wurde in Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2) eingeführt.

Gilt für: