RemoteTextConnection Classe

Definição

Representa uma conexão entre um aplicativo cliente da Área de Trabalho Remota e o sistema de entrada de texto do computador local. Essa conexão pode ser usada para habilitar a virtualização 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
Herança
Object Platform::Object IInspectable RemoteTextConnection
Atributos
Implementações

Requisitos do Windows

Família de dispositivos
Windows 11 (introduzida na 10.0.22000.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v14.0)

Comentários

RemoteTextConnection foi projetado para habilitar a virtualização de entrada de texto com aplicativos remotos integrados a uma área de trabalho local. Esse cenário é chamado programas remotos ou aplicativos remotos integrados localmente (RAIL). O uso RemoteTextConnection com comunicação remota de área de trabalho completa não é recomendado no momento e pode resultar em um comportamento indesejável. Quando a virtualização de entrada de texto está habilitada, métodos de entrada internos fornecidos pelo Windows (incluindo IMEs) podem ser usados para inserir texto em aplicativos remotos.

Para habilitar a virtualização de entrada de texto, um aplicativo cliente da Área de Trabalho Remota cria um objeto RemoteTextConnection para cada sessão remota à qual ele se conecta. Os pacotes de dados são entregues por meio desse objeto de e para o sistema de entrada de texto do computador local das seguintes maneiras:

  • O sistema de entrada de texto envia pacotes de dados para o aplicativo cliente da Área de Trabalho Remota por meio do delegado RemoteTextConnectionDataHandler. O aplicativo cliente da Área de Trabalho Remota é responsável por criar esse delegado e passá-lo para o construtor RemoteTextConnection. Os pacotes de dados do sistema de entrada de texto estarão em conformidade com o protocolo de virtualização de entrada de texto RDP. As mensagens recebidas nesse delegado chegarão em um thread em segundo plano. Quando o aplicativo cliente recebe pacotes de dados do delegado, ele deve encaminhar os pacotes para o servidor RAIL remoto por meio do DVC (canal virtual dinâmico) unidirecional para o servidor para entrada de texto virtualizado. Esse DVC é denominado TextInput_ClientToServerDVC.

  • O aplicativo cliente da Área de Trabalho Remota também precisa escutar pacotes de dados do computador remoto no DVC de entrada de texto de servidor para cliente (denominado ) e encaminhar esses pacotes de dados para o sistema de entrada de texto do computador local por meio do método ReportDataReceived . Para obter mais informações sobre como os aplicativos cliente de Área de Trabalho Remota dão suporte a DVCs, consulte do DVC (Dynamic Virtual Channel) e o arquivo de cabeçalho tsvirtualchannels.h.

Os únicos métodos de entrada locais que RemoteTextConnection integrarão com aplicativos remotos são métodos de entrada internos fornecidos pelo Windows que usam a próxima versão do do Text Services Framework (incluindo IMEs). Esses métodos de entrada são hospedados pelo sistema de entrada de texto em um processo centralizado, tornando a integração viável. IMEs mais antigas do Text Services Framework versão 1 ou IMM não são hospedadas em um processo centralizado e não são compatíveis com a virtualização de entrada de texto. Esses métodos de entrada mais antigos devem ser instalados diretamente em um sistema remoto para trabalhar com aplicativos remotos desse sistema. Essa é a mesma maneira que os métodos de entrada do Text Services Framework versão 1 e IMM são utilizados quando a virtualização de entrada de texto não é usada.

Construtores

RemoteTextConnection(Guid, RemoteTextConnectionDataHandler, RemoteTextConnectionOptions)

Representa uma conexão entre um aplicativo cliente da Área de Trabalho Remota e o sistema de entrada de texto do computador local. Essa conexão pode ser usada para habilitar a virtualização de entrada de texto.

RemoteTextConnection(Guid, RemoteTextConnectionDataHandler)

Cria uma nova instância da classe RemoteTextConnection específica para uma sessão remota.

Propriedades

IsEnabled

Especifica se a virtualização de entrada de texto está habilitada para a conexão de Área de Trabalho Remota atendida por esta instância de RemoteTextConnection .

Métodos

Close()

Fecha o objeto RemoteTextConnection.

Dispose()

Executa tarefas definidas pelo aplicativo associadas à liberação, liberação ou redefinição de recursos não gerenciados.

RegisterThread(UInt32)

Registra um thread no qual o aplicativo cliente da Área de Trabalho Remota apresentará a interface do usuário remota.

ReportDataReceived(Byte[])

Encaminha um pacote de dados recebido pela do DVC (Canal Virtual Dinâmico) para o serviço de entrada de texto do computador local.

ReportPredictedKeyEvent(UInt16, RemoteKeyEventAttributes)

Representa uma conexão entre um aplicativo cliente da Área de Trabalho Remota e o sistema de entrada de texto do computador local. Essa conexão pode ser usada para habilitar a virtualização de entrada de texto.

UnregisterThread(UInt32)

Cancela o registro de um thread registrado por meio de RegisterThread ao limpar ou quando esse thread não hospedará mais a interface do usuário remota.

Aplica-se a

Confira também

  • do DVC (Canal Virtual Dinâmico)