Udostępnij za pośrednictwem


DkmTransportConnection Klasa

Definicja

Reprezentuje to połączenie między monitorem a środowiskiem IDE. Może to być połączenie lokalne, jeśli monitor jest uruchomiony w tym samym procesie co środowisko IDE, lub może być połączeniem zdalnym. W procesie monitorowania istnieje tylko jedno połączenie.

Klasy pochodne: 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
Dziedziczenie
DkmTransportConnection
Dziedziczenie
DkmTransportConnection
Pochodne
Atrybuty

Właściwości

DebuggerCpuArchitecture

Architektura składników debugera po stronie monitora. Jest to składniki debugera z poziomem < składnika 100 000.

Ten interfejs API został wprowadzony w programie Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

Flags

Flagi wskazujące cechy bazowego połączenia.

IsUnloaded

Zwraca wartość true, jeśli dla tego obiektu zostało podniesione zdarzenie "unloaded" (na przykład: DkmThread::Unload jest wywoływane) lub jeśli obiekt został zamknięty. Należy pamiętać, że podczas sprawdzania tego stanu należy zachować ostrożność, ponieważ bez synchronizacji zwrócony stan może nie być już dokładny po odczytaniu instrukcji.

(Odziedziczone po DkmDataContainer)
Kind

Wskazuje typ transportu używanego do debugowania.

ProtocolVersion

Wersja protokołu używanego między programem Visual Studio i komputerem docelowym. Jest to minimalna wersja protokołu, którą rozumie program Visual Studio, oraz wersja protokołu, którą rozumie zdalny debuger.

Ten interfejs API został wprowadzony w programie Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1).

Qualifier

[Opcjonalnie] Parametry wskazujące miejsce docelowe połączenia. Będzie to mieć wartość null dla połączenia lokalnego. W przypadku domyślnego debugowania zdalnego jest to nazwa komputera i numer portu, z którymi próbujemy nawiązać połączenie.

UniqueId

Identyfikator GUID, który jednoznacznie identyfikuje to połączenie. Połączenie lokalne użyje wartości "DkmTransportKind.Local". Wartość dla innych połączeń zostanie wygenerowana losowo.

Metody

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

Aktywuje określoną spakowana aplikację. Spowoduje to uruchomienie aplikacji, jeśli nie została jeszcze uruchomiona, i przywróci ją jako aktywną aplikację, jeśli jest już uruchomiona. Podczas uruchamiania w debugerze identyfikator IDkmProcessLaunchNotifyListener.StartListener zostanie wywołany przed tym interfejsem API.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę ukończenia.

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

Aktywuje określoną spakowana aplikację. Spowoduje to uruchomienie aplikacji, jeśli nie została jeszcze uruchomiona, i przywróci ją jako aktywną aplikację, jeśli jest już uruchomiona. Podczas uruchamiania w debugerze identyfikator IDkmProcessLaunchNotifyListener.StartListener zostanie wywołany przed tym interfejsem API.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę ukończenia.

Ten interfejs API został wprowadzony w programie Visual Studio 14 Update 1 (DkmApiVersion.VS14Update1).

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

Aktywuje spakowana aplikacja na określonym monitorze. Spowoduje to uruchomienie aplikacji, jeśli nie została jeszcze uruchomiona, i przywróci ją jako aktywną aplikację, jeśli jest już uruchomiona.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę ukończenia.

Ten interfejs API został wprowadzony w programie Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3).

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

Aktywuje określoną spakowana aplikację. Spowoduje to uruchomienie aplikacji, jeśli nie została jeszcze uruchomiona, i przywróci ją jako aktywną aplikację, jeśli jest już uruchomiona. Podczas uruchamiania w debugerze identyfikator IDkmProcessLaunchNotifyListener.StartListener zostanie wywołany przed tym interfejsem API.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę ukończenia.

Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

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

Aktywuj zadanie w tle. Jest to używane przez deweloperów do testowania procedury obsługi aktywacji aplikacji.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę ukończenia.

CreateCoreDumpParserTargetCompositionServices(String, Object)

Twórca wystąpienie klasy IDebugServiceManager dla podstawowego scenariusza analizowania plików, który może służyć do uzyskiwania dostępu do rozszerzeń opartych na kompozycji docelowej. Po udostępnieniu metody DkmProcess wywołaj metodę SetCoreDumpParserTargetCompositionServices, aby wystąpienie było poprawnie buforowane.

Ograniczenie lokalizacji: interfejsy kompozycji docelowej nie mogą być kierowane między maszynami, ale są bezpieczne do użycia, jeśli są dostępne.

Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8).

CreateDirectory(String)

Tworzy katalog na komputerze docelowym. Należy pamiętać, że katalogi są niejawnie tworzone podczas wdrażania plików. Dlatego ten interfejs API nie musi być używany w tym scenariuszu.

DeleteFile(String)

Usuń plik na komputerze docelowym.

DeployFile(String, String, Boolean)

Wdróż plik na komputerze docelowym. Należy pamiętać, że spowoduje to skopiowanie zawartości pliku i czasu ostatniego zapisu, ale nie atrybutów.

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000).

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

Pobierz plik z komputera docelowego. Należy pamiętać, że spowoduje to skopiowanie zawartości pliku i czasu ostatniego zapisu, ale nie atrybutów.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę ukończenia.

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000).

DownloadFile(String, String, Boolean)

Pobierz plik z komputera docelowego. Należy pamiętać, że spowoduje to skopiowanie zawartości pliku i czasu ostatniego zapisu, ale nie atrybutów.

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000).

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

Wylicza istniejące zadania w tle. Jest to używane przez deweloperów do testowania procedury obsługi wyliczenia aplikacji.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę ukończenia.

EnumPackages()

Wylicza zainstalowane i uruchamialne pakiety aplikacji (pakiety aplikacji z aplikacjami).

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000).

EnumRunningProcesses(Boolean, DkmRunningProcessInfoPropertyMask)

Zawiera listę wszystkich procesów uruchomionych na komputerze docelowym (w tym procesów, które nie są debugowane).

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

Zawiera listę wszystkich procesów uruchomionych na komputerze docelowym (w tym procesów, które nie są debugowane).

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę ukończenia.

ExtractFromDeployConnection(IVsDebuggerDeployConnection)

Uzyskuje obiekt DkmTransportConnection, który przywraca połączenie wdrażania. Może to służyć do mostkowania z interfejsu API wdrażania debugera do interfejsów API aparatu debugera (Dkm). Na przykład może to służyć do wysyłania DkmCustomMessages.

Obiekt wywołujący musi nadal trzymać się elementu deployConnection, aby uniknąć usunięcia bazowego elementu DkmTransportConnection. Należy pamiętać, że domyślnie składniki concord zostaną rozładowane podczas debugowania zatrzymania. To zachowanie można zastąpić, ustawiając wartość "StayLoadedForDeployConnection="true" w pliku .vsdconfigxml składnika. Jest to przydatne, jeśli obiekt wywołujący chce wyodrębnić połączenie wdrożenia w celu wysyłania niestandardowych komunikatów i chce to zrobić po zakończeniu sesji debugera.

ExtractFromPort(IDebugPort2)

Uzyskuje obiekt DkmTransportConnection, który zwraca ten obiekt portu. Zakończy się to niepowodzeniem w scenariuszach zdalnego debugowania, jeśli port nie jest obecnie połączony i ponowne nawiązanie połączenia nie powiodło się. Ten interfejs API będzie działać poprawnie tylko z głównego wątku programu Visual Studio.

FindConnection(Guid)

Znajdź obiekt DkmTransportConnection. Jeśli żaden obiekt z podanym kluczem wejściowym nie istnieje, funkcja FindConnection zakończy się niepowodzeniem.

FindLiveProcess(Int32)

Znajdź element DkmProcess w ramach tego elementu DkmTransportConnection. Jeśli nie ma żadnego elementu z danym kluczem wejściowym, funkcja FindLiveProcess zakończy się niepowodzeniem. Jeśli obiekt zostanie znaleziony, zawsze będzie zawierać część "Live".

FindProcess(Guid)

Znajdź element DkmProcess w ramach tego elementu DkmTransportConnection. Jeśli nie ma żadnego elementu z danym kluczem wejściowym, funkcja FindProcess zakończy się niepowodzeniem.

FindProductionConnection(Guid)

Znajdź element DkmProductionConnection w ramach tego elementu DkmTransportConnection. Jeśli nie ma żadnego elementu z danym kluczem wejściowym, funkcja FindProductionConnection zakończy się niepowodzeniem.

Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 2 (DkmApiVersion.VS15Update2).

FindRecordedProcessInfo(String)

Znajdź element DkmRecordedProcessInfo w ramach tego elementu DkmTransportConnection. Jeśli nie ma żadnego elementu z danym kluczem wejściowym, polecenie FindRecordedProcessInfo zakończy się niepowodzeniem.

Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

FindSerializedProcessInfo(String)

Znajdź element DkmSerializedProcessInfo w ramach tego elementu DkmTransportConnection. Jeśli nie ma żadnego elementu z danym kluczem wejściowym, polecenie FindSerializedProcessInfo zakończy się niepowodzeniem.

Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8).

FlushClosedObjectQueue()

Ta funkcja służy do wymuszenia natychmiastowej wymiany wszystkich powiadomień o zamykaniu obiektu z procesem monitorowania. Jak 'GC. Funkcja collect w kodzie zarządzanym jest zwykle niepotrzebna, ponieważ system automatycznie opróżnia kolejkę. Można jednak użyć tej metody, jeśli ważne jest, aby wszystkie aktualizacje były natychmiast wymieniane.

Powiadomienie o zamknięciu obiektu jest tworzone (i w kolejce), gdy składnik wywołuje metodę "Close" dla danego obiektu. Zarówno proces monitorowania, jak i proces aparatu utrzymują kolejkę zamkniętych obiektów. Ta metoda może być wywoływana tylko z procesu aparatu, ale służy do opróżniania obu kolejek.

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika IDE (poziom > składnika 100 000).

GetAppPackageExecutionState(DkmAppPackageId, Int32)

Pobierz stan wykonywania aplikacji Ze Sklepu Windows. Wartości w tym polu są określone w PACKAGE_EXECUTION_STATE.

GetClrVersionOfExecutable(String)

Zawiera ciąg wersji środowiska CLR, którego debuger oczekuje załadowania danego pliku wykonywalnego. Wartość zwracana jest oparta na zawartości nagłówka PE pliku wykonywalnego (jeśli plik exe jest zarządzany), pliku konfiguracji pliku wykonywalnego, zmiennych środowiskowych CLR i zasad modułu ładującego w rejestrze. Wartość zwracana może być niepoprawna, szczególnie w przypadku natywnego pliku wykonywalnego.

GetConnections()

GetConnections wylicza wszystkie utworzone obiekty DkmTransportConnection.

GetDataItem<T>()

Pobiera wystąpienie elementu "T", które zostało dodane do tego wystąpienia kontenera. Jeśli ten kontener nie zawiera wartości "T", ta funkcja zwróci wartość null.

(Odziedziczone po DkmDataContainer)
GetDefaultClrVersion()

Zwraca wersję środowiska CLR, która jest ładowana w procesie monitorowania.

GetDNSName()

Zawiera fizyczną nazwę hosta DNS używaną przez komputer docelowy.

GetFileListing(String, String, Boolean)

Uzyskuje listę plików i podkatalogów, które istnieją na komputerze docelowym.

GetIsolatedStorageRootForApplication(DkmAppPackageId)

Uzyskaj pełną ścieżkę do izolowanego katalogu głównego magazynu dla określonej aplikacji.

Ten interfejs API nie jest jeszcze zaimplementowany dla aplikacji ze Sklepu Windows, ale jest zarezerwowany do użytku w przyszłości.

GetLiveProcesses()

GetLiveProcesses wylicza elementy DkmProcess tego obiektu DkmTransportConnectionobject. Wszystkie obiekty zawierają część "Live".

GetProcesses()

GetProcesses wylicza elementy DkmProcess tego obiektu DkmTransportConnection.

GetProductionConnections()

GetProductionConnections wylicza elementy DkmProductionConnection tego obiektu DkmTransportConnection.

Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 2 (DkmApiVersion.VS15Update2).

GetRecordedProcesses()

GetRecordedProcesses wylicza elementy DkmRecordedProcessInfo tego obiektu DkmTransportConnection.

Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

GetRecordedProcessInfo(String)

Uzyskaj informacje o nagranym pliku.

Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

GetRequests()

GetRequests wylicza elementy DkmProcessLaunchRequest tego obiektu DkmTransportConnection.

GetRunningProcessInfo(Int32, Int64, Boolean, DkmRunningProcessInfoPropertyMask)

Uzyskaj informacje o procesie uruchomionym na komputerze docelowym.

GetSerializedProcessInfo(String)

Uzyskaj informacje o pliku.

Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8).

GetSerializedProcessInformation()

GetSerializedProcessInformation wylicza elementy DkmSerializedProcessInfo tego obiektu DkmTransportConnection.

Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8).

GetSystemInformation(Boolean)

Zawiera informacje o komputerze, na którym jest uruchomiony monitor debugowania.

QueryExecutableArchitecture(String)

Pobiera architekturę pliku wykonywalnego.

Ten interfejs API został wprowadzony w programie Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

QueryIsWOW64Executable(String)

Przestarzałe. Użyj elementu QueryExecutableArchitecture. Określa, czy dany plik wykonywalny będzie wykonywany w systemie operacyjnym WOW64 (Windows w systemie Windows), który jest używany do wykonywania procesów 32-bitowych w 64-bitowym systemie operacyjnym.

RemoveAppPackageFromTaskbar(DkmAppPackageId, UInt32)

Usuwa ikonę aplikacji immersyjnej z paska zadań, zamykając ją.

Ten interfejs API został wprowadzony w programie Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3).

RemoveDataItem<T>()

Usuń wystąpienie elementu "T" z tego kontenera. Zwykle wywołanie tej metody jest niepotrzebne, ponieważ kontener danych zostanie automatycznie opróżniony po zamknięciu obiektu.

(Odziedziczone po DkmDataContainer)
RemoveDirectory(String, Boolean)

Usuwa katalog na komputerze docelowym.

ResumeAppPackage(DkmAppPackageId, Int32)

Wykonuje symulowane życiorysy zarządzania procesem oparte na zarządzaniu na podstawie określonej aplikacji. Jest to używane przez deweloperów do testowania obsługi wznawiania aplikacji.

SetDataItem<T>(DkmDataCreationDisposition, T)

Umieść nowy element w kontenerze danych.

(Odziedziczone po DkmDataContainer)
ShutDownAppPackage(DkmWorkList, DkmAppPackageId, Int32, DkmCompletionRoutine<DkmShutDownAppPackageAsyncResult>)

Wstrzymaj, a następnie zamknij określoną aplikację przy użyciu usług zarządzania okresem istnienia procesu. Dzięki temu drugiemu uruchomieniu aplikacji deweloperzy mogą przetestować możliwość ponownego uruchomienia aplikacji ze stanu wstrzymania.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania.

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

Wykonuje symulowane wstrzymanie na podstawie okresu istnienia procesu w oparciu o określoną aplikację. Jest to używane przez deweloperów do testowania obsługi wstrzymania aplikacji.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania.

TakeNonDebugProcessSnapshot(UInt32)

Tworzy migawkę procesu. Jedyne przechowywane dane to sama migawka, nie ma odwołania do żadnego procesu nadrzędnego.

Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6).

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

Kończenie pakietu aplikacji. Służy do zapewnienia, że wszystkie procesy skojarzone z pakietem zostały zatrzymane.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania.

Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

TerminateRunningProcess(Int32, Int64, Int32)

Kończy proces uruchomiony na komputerze docelowym, który nie jest debugowany.

TriggerPrefetch(String, DkmPackagedAppPlatform)

Wyzwala wstępne pobieranie zawartości aplikacji.

Ten interfejs API został wprowadzony w programie Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2).

Dotyczy