RemoteTextConnection Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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_ClientToServerDVC
benannt.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 |
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. |