Compartir a través de


RemoteTextConnection Clase

Definición

Representa una conexión entre una aplicación cliente de Escritorio remoto y el sistema de entrada de texto del equipo local. Esta conexión se puede usar para habilitar la virtualización de entrada de texto.

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
Herencia
Object Platform::Object IInspectable RemoteTextConnection
Atributos
Implementaciones

Requisitos de Windows

Familia de dispositivos
Windows 11 (se introdujo en la versión 10.0.22000.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v14.0)

Comentarios

RemoteTextConnection está diseñado para habilitar la virtualización de entrada de texto con aplicaciones remotas integradas con un escritorio local. Este escenario se denomina Programas remotos o Aplicaciones remotas integradas localmente (RAIL). El uso de RemoteTextConnection con comunicación remota de escritorio completo no se recomienda actualmente y puede dar lugar a un comportamiento no deseado. Cuando la virtualización de entrada de texto está habilitada, se pueden usar métodos de entrada integrados proporcionados por Windows (incluidos LOS IME) para escribir texto en aplicaciones remotas.

Para habilitar la virtualización de entrada de texto, una aplicación cliente de Escritorio remoto crea un objeto RemoteTextConnection para cada sesión remota a la que se conecta. Los paquetes de datos se entregan a través de este objeto hacia y desde el sistema de entrada de texto del equipo local de las siguientes maneras:

  • El sistema de entrada de texto envía paquetes de datos a la aplicación cliente de Escritorio remoto a través del delegado RemoteTextConnectionDataHandler . La aplicación cliente de Escritorio remoto es responsable de crear este delegado y pasarla al constructor RemoteTextConnection . Los paquetes de datos del sistema de entrada de texto se ajustan al protocolo de virtualización de entrada de texto RDP. Los mensajes recibidos en este delegado llegarán a un subproceso en segundo plano. Cuando la aplicación cliente recibe paquetes de datos del delegado, debe reenviar los paquetes al servidor RAIL remoto a través del canal virtual dinámico (DVC) unidireccional y de cliente a servidor para la entrada de texto virtualizada. Este DVC se denomina TextInput_ClientToServerDVC.

  • La aplicación cliente de Escritorio remoto también debe escuchar paquetes de datos desde el equipo remoto en el DVC de entrada de texto de servidor a cliente (denominado TextInput_ServerToClientDVC) y reenviar esos paquetes de datos al sistema de entrada de texto del equipo local a través del método ReportDataReceived . Para obtener más información sobre cómo las aplicaciones cliente de Escritorio remoto admiten DVC, vea Dynamic Virtual Channel (DVC) y el archivo de encabezado tsvirtualchannels.h.

Los únicos métodos de entrada locales que RemoteTextConnection integrará con aplicaciones remotas son métodos de entrada integrados proporcionados por Windows que usan la siguiente versión de Text Services Framework (incluidos los IME). Estos métodos de entrada se hospedan en el sistema de entrada de texto en un proceso centralizado, lo que hace que la integración sea factible. Las IME anteriores de Text Services Framework versión 1 o IMM no se hospedan en un proceso centralizado y no son compatibles con la virtualización de entrada de texto. Estos métodos de entrada anteriores deben instalarse directamente en un sistema remoto para poder trabajar con aplicaciones remotas desde ese sistema. Esta es la misma manera que los métodos de entrada de Text Services Framework versión 1 e IMM se usan cuando no se usa la virtualización de entrada de texto.

Constructores

RemoteTextConnection(Guid, RemoteTextConnectionDataHandler)

Crea una nueva instancia de la clase RemoteTextConnection específica de una sesión remota.

RemoteTextConnection(Guid, RemoteTextConnectionDataHandler, RemoteTextConnectionOptions)

Representa una conexión entre una aplicación cliente de Escritorio remoto y el sistema de entrada de texto del equipo local. Esta conexión se puede usar para habilitar la virtualización de entrada de texto.

Propiedades

IsEnabled

Especifica si la virtualización de entrada de texto está habilitada para la conexión a Escritorio remoto administrada por esta instancia de RemoteTextConnection .

Métodos

Close()

Cierra el objeto RemoteTextConnection .

Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.

RegisterThread(UInt32)

Registra un subproceso en el que la aplicación cliente de Escritorio remoto presentará la interfaz de usuario remota.

ReportDataReceived(Byte[])

Reenvía un paquete de datos recibido a través del TextInput_ServerToClientDVCcanal virtual dinámico (DVC) al servicio de entrada de texto de la máquina local.

ReportPredictedKeyEvent(UInt16, RemoteKeyEventAttributes)

Representa una conexión entre una aplicación cliente de Escritorio remoto y el sistema de entrada de texto del equipo local. Esta conexión se puede usar para habilitar la virtualización de entrada de texto.

UnregisterThread(UInt32)

Anula el registro de un subproceso registrado a través de RegisterThread al limpiar o cuando ese subproceso ya no hospedará la interfaz de usuario remota.

Se aplica a

Consulte también