Freigeben über


RemoteTextConnection Klasse

Definition

Stellt eine Verbindung zwischen einer Remotedesktopclientanwendung und dem Texteingabesystem des lokalen Computers dar. Diese Verbindung kann verwendet werden, um die Texteingabevirtualisierung zu aktivieren.

public ref class RemoteTextConnection sealed : IClosable
/// [Windows.Foundation.Metadata.Activatable(Windows.System.RemoteDesktop.Input.IRemoteTextConnectionFactory, 851968, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 851968)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class RemoteTextConnection final : IClosable
/// [Windows.Foundation.Metadata.Activatable(Windows.System.RemoteDesktop.Input.IRemoteTextConnectionFactory, 851968, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 851968)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.System.RemoteDesktop.Input.IRemoteTextConnectionFactory2, 1048576, "Windows.Foundation.UniversalApiContract")]
class RemoteTextConnection final : IClosable
[Windows.Foundation.Metadata.Activatable(typeof(Windows.System.RemoteDesktop.Input.IRemoteTextConnectionFactory), 851968, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 851968)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class RemoteTextConnection : System.IDisposable
[Windows.Foundation.Metadata.Activatable(typeof(Windows.System.RemoteDesktop.Input.IRemoteTextConnectionFactory), 851968, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 851968)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.System.RemoteDesktop.Input.IRemoteTextConnectionFactory2), 1048576, "Windows.Foundation.UniversalApiContract")]
public sealed class RemoteTextConnection : System.IDisposable
function RemoteTextConnection(connectionId, pduForwarder)
function RemoteTextConnection(connectionId, pduForwarder, options)
Public NotInheritable Class RemoteTextConnection
Implements IDisposable
Vererbung
Object Platform::Object IInspectable RemoteTextConnection
Attribute
Implementiert

Windows-Anforderungen

Gerätefamilie
Windows 11 (eingeführt in 10.0.22000.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v14.0)

Hinweise

RemoteTextConnection wurde entwickelt, um die Texteingabevirtualisierung mit Remoteanwendungen zu ermöglichen, die in einen lokalen Desktop integriert sind. Dieses Szenario wird remote programs oder Remote Applications Integrated Locally (RAIL)genannt. Die Verwendung von RemoteTextConnection- mit vollständigem Desktop-Remoting wird derzeit nicht empfohlen und kann zu unerwünschtem Verhalten führen. Wenn die Texteingabevirtualisierung aktiviert ist, können integrierte Eingabemethoden von Windows (einschließlich IMEs) zum Eingeben von Text in Remoteanwendungen verwendet werden.

Um die Texteingabevirtualisierung zu aktivieren, erstellt eine Remotedesktopclientanwendung ein RemoteTextConnection Objekt für jede Remotesitzung, mit der eine Verbindung hergestellt wird. Datenpakete werden über dieses Objekt an und vom Texteingabesystem des lokalen Computers auf folgende Weise übermittelt:

  • Das Texteingabesystem sendet Datenpakete über den RemoteTextConnectionDataHandler Delegaten an die Remotedesktopclientanwendung. Die Remotedesktopclientanwendung ist für das Erstellen dieses Delegaten verantwortlich und übergibt sie an den RemoteTextConnection--Konstruktor. Die Datenpakete aus dem Texteingabesystem entsprechen dem RDP-Texteingabevirtualisierungsprotokoll. Auf dieser Stellvertretung empfangene Nachrichten werden in einem Hintergrundthread eingetroffen. Wenn die Clientanwendung Datenpakete von der Stellvertretung empfängt, sollte sie die Pakete über die unidirektionale, client-zu-Server-Dynamic Virtual Channel (DVC)- für die virtualisierte Texteingabe an den Remote-RAIL-Server weiterleiten. Dieser DVC wird TextInput_ClientToServerDVCbenannt.

  • Die Remotedesktopclientanwendung muss auch auf Datenpakete vom Remotecomputer auf dem Server-zu-Client-Texteingabe-DVC (namens TextInput_ServerToClientDVC) lauschen und diese Datenpakete über die ReportDataReceived--Methode an das Texteingabesystem des lokalen Computers weiterleiten. Weitere Informationen dazu, wie Remotedesktopclientanwendungen DVCs unterstützen, finden Sie unter Dynamic Virtual Channel (DVC) und der Headerdatei tsvirtualchannels.h.

Die einzigen lokalen Eingabemethoden, die RemoteTextConnection- in Remoteanwendungen integriert werden, sind integrierte Eingabemethoden, die von Windows bereitgestellt werden, die die nächste Version des Text Services Framework (einschließlich IMEs) verwenden. Diese Eingabemethoden werden vom Texteingabesystem in einem zentralen Prozess gehostet, wodurch die Integration möglich ist. Ältere Text services Framework Version 1 oder IMM IMEs werden nicht in einem zentralisierten Prozess gehostet und werden von der Texteingabevirtualisierung nicht unterstützt. Diese älteren Eingabemethoden müssen direkt auf einem Remotesystem installiert werden, um mit Anwendungen zu arbeiten, die von diesem System entfernt wurden. Dies entspricht der Verwendung von Text Services Framework, Version 1 und IMM-Eingabemethoden, wenn die Texteingabevirtualisierung nicht verwendet wird.

Konstruktoren

RemoteTextConnection(Guid, RemoteTextConnectionDataHandler, RemoteTextConnectionOptions)

Stellt eine Verbindung zwischen einer Remotedesktopclientanwendung und dem Texteingabesystem des lokalen Computers dar. Diese Verbindung kann verwendet werden, um die Texteingabevirtualisierung zu aktivieren.

RemoteTextConnection(Guid, RemoteTextConnectionDataHandler)

Erstellt eine neue Instanz der RemoteTextConnection Klasse, die für eine Remotesitzung spezifisch ist.

Eigenschaften

IsEnabled

Gibt an, ob die Texteingabevirtualisierung für die Remotedesktopverbindung aktiviert ist, die von dieser RemoteTextConnection Instanz unterstützt wird.

Methoden

Close()

Schließt das RemoteTextConnection--Objekt.

Dispose()

Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen verknüpft sind.

RegisterThread(UInt32)

Registriert einen Thread, in dem die Remotedesktopclientanwendung Remote-UI darstellt.

ReportDataReceived(Byte[])

Leitet ein über den TextInput_ServerToClientDVCDynamic Virtual Channel (DVC) empfangenes Datenpaket an den Texteingabedienst des lokalen Computers weiter.

ReportPredictedKeyEvent(UInt16, RemoteKeyEventAttributes)

Stellt eine Verbindung zwischen einer Remotedesktopclientanwendung und dem Texteingabesystem des lokalen Computers dar. Diese Verbindung kann verwendet werden, um die Texteingabevirtualisierung zu aktivieren.

UnregisterThread(UInt32)

Hebt die Registrierung eines threads auf, der über RegisterThread- beim Bereinigen registriert wurde oder wenn dieser Thread keine Remote-UI mehr hostet.

Gilt für:

Weitere Informationen