Canais virtuais Citrix ICA®
Aviso:
A edição incorreta do registro pode causar sérios problemas que podem exigir a reinstalação do sistema operacional. A Citrix não pode garantir que os problemas resultantes do uso incorreto do Editor do Registro possam ser resolvidos. Use o Editor do Registro por sua conta e risco. Certifique-se de fazer backup do registro antes de editá-lo.
O que são canais virtuais ICA?
Uma grande parte da funcionalidade e comunicação entre o aplicativo Citrix Workspace™ e os servidores Citrix Virtual Apps and Desktops™ ocorre por meio de canais virtuais. Os canais virtuais são uma parte necessária da experiência de computação remota com os servidores Citrix Virtual Apps and Desktops. Os canais virtuais são usados para:
- Áudio
- Portas COM
- Discos
- Gráficos
- Portas LPT
- Impressoras
- Smart cards
- Canais virtuais personalizados de terceiros
- Vídeo
Novos canais virtuais são, às vezes, lançados com novas versões dos servidores Citrix Virtual Apps and Desktops e dos produtos do aplicativo Citrix Workspace para fornecer mais funcionalidades.

Um canal virtual consiste em um driver virtual do lado do cliente que se comunica com um aplicativo do lado do servidor. O Citrix Virtual Apps and Desktops é fornecido com vários canais virtuais incluídos. Eles são projetados para permitir que clientes e fornecedores de terceiros criem seus próprios canais virtuais usando um dos Kits de Desenvolvimento de Software (SDKs) fornecidos.
Os canais virtuais fornecem uma maneira segura de realizar várias tarefas. Por exemplo, um aplicativo que está sendo executado em um servidor Citrix Virtual Apps que se comunica com um dispositivo do lado do cliente ou um aplicativo que se comunica com o ambiente do lado do cliente.
No lado do cliente, os canais virtuais correspondem a drivers virtuais. Cada driver virtual fornece uma função específica. Alguns são necessários para a operação normal, e outros são opcionais. Os drivers virtuais operam no nível do protocolo da camada de apresentação. Pode haver vários protocolos ativos a qualquer momento, multiplexando canais fornecidos pela camada de protocolo do Windows Station (WinStation).
As seguintes funções estão contidas no valor do registro VirtualDriver sob este caminho do registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ICA 3.0
Ou
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ICA 3.0 (para 64 bits)
- Thinwire3.0 (Obrigatório)
- ClientDrive
- ClentPrinterQueue
- ClentPrinterPort
- Clipboard
- ClientComm
- ClientAudio
- LicenseHandler (Obrigatório)
- TWI (Obrigatório)
- SmartCard
- ICACTL (Obrigatório)
- SSPI
- TwainRdr
- UserEXperience
- Vd3d
Nota:
Você pode desabilitar funcionalidades específicas do cliente removendo um ou mais desses valores da chave do registro. Por exemplo, se você quisesse remover o Client Clipboard, remova a palavra Clipboard.
Esta lista contém os arquivos de driver virtual do cliente e suas respectivas funções. O Citrix Virtual Apps e o aplicativo Citrix Workspace para Windows usam esses arquivos. Eles estão na forma de Dynamic Link Libraries (modo de usuário) e não de drivers do Windows (modo kernel), exceto para USB Genérico, conforme descrito no canal virtual USB Genérico.
- vd3dn.dll – Canal virtual Direct3D usado para redirecionamento de composição de desktop
- vdcamN.dll – Áudio bidirecional
- vdcdm30n.dll – Mapeamento de unidade do cliente
- vdcom30N.dll - Mapeamento de porta COM do cliente
- vdcpm30N.dll – Mapeamento de impressora do cliente
- vdctln.dll – Canal de controles ICA
- vddvc0n.dll – Canal virtual dinâmico
- vdeuemn.dll - Monitoramento da experiência do usuário final
- vdgusbn.dll – Canal virtual USB Genérico
- vdkbhook.dll – Passagem transparente de teclas
- vdlfpn.dll – Canal de exibição Framehawk sobre transporte tipo UDP
- vdmmn.dll – Suporte multimídia
- vdmrvc.dll – Canal virtual Mobile Receiver
- vdmtchn.dll - Suporte multitoque
- vdscardn.dll – Suporte a smartcard
- vdsens.dll – Canal virtual de sensores
- vdspl30n.dll – UPD do cliente
- vdsspin.dll – Kerberos
- vdtuin.dll – UI Transparente
- vdtw30n.dll – Thinwire do cliente
- vdtwin.dll – Seamless
- vdtwn.dll – Twain
Alguns canais virtuais são compilados em outros arquivos. Por exemplo, o Mapeamento da Área de Transferência está disponível em wfica32.exe
Compatibilidade de 64 bits
O aplicativo Citrix Workspace para Windows é compatível com 64 bits. Assim como a maioria dos binários compilados para 32 bits, esses arquivos de cliente têm equivalentes compilados para 64 bits:
- brapi64.dll
- confmgr.dll
- ctxlogging.dll
- ctxmui.dll
- icaconf.exe
- icaconfs.dll
- icafile.dll
- pnipcn64.dll
- pnsson.dll
- ssoncom.exe
- ssonstub.dll
- vdkbhook64.dll
Canal virtual USB Genérico
A implementação do canal virtual USB Genérico usa dois drivers de modo kernel junto com o driver de canal virtual vdgusbn.dll:
- ctxusbm.sys
- ctxusbr.sys
Como os canais virtuais ICA funcionam
Os canais virtuais são carregados de várias maneiras. O Shell (WfShell para o servidor e PicaShell para a estação de trabalho) carrega alguns canais virtuais. Alguns canais virtuais são hospedados como serviços do Windows.
Módulos de canal virtual carregados pelo Shell, por exemplo:
- EUEM
- Twain
- Área de Transferência
- Multimídia
- Compartilhamento de sessão Seamless
- Fuso Horário
Alguns são carregados como modo kernel, por exemplo:
- CtxDvcs.sys – Canal virtual dinâmico
- Icausbb.sys – Redirecionamento USB Genérico
- Picadm.sys – Mapeamento de unidade do cliente
- Picaser.sys – Redirecionamento de porta COM
- Picapar.sys – Redirecionamento de porta LPT
Canal virtual de gráficos no lado do servidor
O ctxgfx.exe hospeda o canal virtual de gráficos para sessões baseadas em estação de trabalho e servidor de terminal. O Ctxgfx hospeda módulos específicos da plataforma que interagem com o driver correspondente (Icardd.dll para RDSH e vdod.dll e vidd.dll para estação de trabalho).
Para implantações do XenDesktop® 3D Pro, um driver gráfico OEM é instalado para a GPU correspondente no VDA. O Ctxgfx carrega módulos adaptadores especializados para interagir com o driver gráfico OEM.
Hospedagem de canais especializados em serviços do Windows
Nos servidores Citrix Virtual Apps and Desktops, vários canais são hospedados como serviços do Windows. Essa hospedagem fornece semânticas de um para muitos para vários aplicativos em uma sessão e várias sessões no servidor. Exemplos de tais serviços incluem:
- Serviço Redirecionador de Dispositivos Citrix
- Serviço de Canal Virtual Dinâmico Citrix
- Serviço de Monitoramento da Experiência do Usuário Final Citrix
- Serviço de Canal Virtual de Localização e Sensor Citrix
- Serviço de Redirecionamento Multitoque Citrix
- Serviço Gerenciador de Impressão Citrix
- Serviço de Smartcard Citrix
- Serviço de Redirecionamento de Áudio Citrix (somente Citrix Virtual Desktops™)
- Serviço de Canal de Status ICA Citrix
O canal virtual de áudio no Citrix Virtual Apps é hospedado usando o serviço de Áudio do Windows.
No lado do servidor, todos os canais virtuais do cliente são roteados através do driver WinStation, Wdica.sys. No lado do cliente, o driver WinStation correspondente, integrado ao wfica32.exe, pesquisa os canais virtuais do cliente. Esta imagem ilustra a conexão cliente-servidor do canal virtual.

Esta visão geral contém uma troca de dados cliente-servidor usando um canal virtual.
- O cliente se conecta ao servidor Citrix Virtual Apps and Desktops. O cliente passa informações sobre os canais virtuais que ele suporta para o servidor.
- O aplicativo do lado do servidor inicia, obtém um identificador para o canal virtual e, opcionalmente, consulta informações adicionais sobre o canal.
-
O driver virtual do cliente e o aplicativo do lado do servidor passam dados usando os dois métodos a seguir:
- Se o aplicativo do servidor tiver dados para enviar ao cliente, os dados serão enviados ao cliente imediatamente. Quando o cliente recebe os dados, o driver WinStation desmultiplexa os dados do canal virtual do fluxo ICA e os passa imediatamente para o driver virtual do cliente.
- Se o driver virtual do cliente tiver dados para enviar ao servidor, os dados serão enviados na próxima vez que o driver WinStation o pesquisar. Quando o servidor recebe os dados, eles são enfileirados até que o aplicativo do canal virtual os leia. Não há como alertar o aplicativo do canal virtual do servidor de que os dados foram recebidos.
- Quando o aplicativo do canal virtual do servidor é concluído, ele fecha o canal virtual e libera quaisquer recursos alocados.
Criando seu próprio canal virtual usando o SDK de Canal Virtual
Nota:
Os SDKs da Citrix estão disponíveis no portal Citrix Developer em https://developer.cloud.com.
A criação de um canal virtual usando o SDK de Canal Virtual requer conhecimento de programação intermediário. Use este método para fornecer um caminho de comunicação principal entre o cliente e o servidor. Por exemplo, se você estiver implementando o uso de um dispositivo no lado do cliente, como um scanner, para ser usado com um processo na sessão.
Nota:
O SDK de Canal Virtual requer o SDK WFAPI para escrever o lado do servidor do canal virtual.
Devido à segurança aprimorada para Citrix Virtual Apps and Desktops, você deve especificar quais canais virtuais têm permissão para serem abertos em uma sessão ICA. Para obter mais informações, consulte Configurações de política da lista de permissões de canais virtuais.
Criando seu próprio canal virtual usando o SDK de Objeto Cliente ICA
A criação de um canal virtual usando o Objeto Cliente ICA (ICO) é mais fácil do que usar o SDK de Canal Virtual. Use o ICO criando um objeto nomeado em seu programa usando o método CreateChannels.
Importante:
Devido à segurança aprimorada a partir da versão 10.00 do Citrix Receiver para Windows e posteriores (e aplicativos Citrix Workspace para Windows), você deve dar um passo extra ao criar um canal virtual ICO.
Funcionalidade de passagem de canais virtuais
A maioria dos canais virtuais fornecidos pela Citrix opera sem modificações quando você usa o aplicativo Citrix Workspace para Windows dentro de uma sessão ICA (também conhecida como sessão de passagem). Há considerações ao usar o cliente em saltos extras.
As seguintes funções operam da mesma forma em saltos únicos ou múltiplos:
- Mapeamento de porta COM do cliente
- Mapeamento de unidade do cliente
- Mapeamento de impressora do cliente
- UPD do cliente
- Monitoramento da experiência do usuário final
- USB Genérico
- Kerberos
- Suporte multimídia
- Suporte a smartcard
- Passagem transparente de teclas
- Twain
Devido à natureza inerente da latência e a fatores como compressão e descompressão e renderização sendo realizados em cada salto, o desempenho pode ser afetado a cada salto adicional que o cliente sofre. As áreas afetadas são:
- Áudio bidirecional
- Transferências de arquivos
- Redirecionamento USB Genérico
- Seamless
- Thinwire
Importante:
Por padrão, as unidades de cliente mapeadas por uma instância do cliente em execução em uma sessão de passagem são restritas às unidades de cliente do cliente de conexão.
Funcionalidade de passagem de canais virtuais entre uma sessão Citrix Virtual Desktop e uma sessão Citrix Virtual App
A maioria dos canais virtuais fornecidos pela Citrix opera sem modificações quando você usa o aplicativo Citrix Workspace para Windows dentro de uma sessão ICA em um servidor Citrix Virtual Desktops (também conhecida como sessão de passagem).
Especificamente, no servidor Citrix Virtual Desktops, há um hook VDA que executa picaPassthruHook. Este hook faz com que o cliente pense que está sendo executado em um servidor CPS, colocando o cliente em seu modo de passagem tradicional.
Oferecemos suporte aos seguintes canais virtuais tradicionais e suas funcionalidades:
- Cliente
- Mapeamento de porta COM do cliente
- Mapeamento de unidade do cliente
- Mapeamento de impressora do cliente
- USB Genérico (limitado devido ao desempenho)
- Suporte multimídia
- Suporte a smartcard
- SSON
- Passagem transparente de teclas
Segurança e canais virtuais ICA
Proteger o uso é uma parte importante do planejamento, desenvolvimento e implementação de canais virtuais. Existem várias referências a áreas específicas de segurança localizadas ao longo deste documento.
Melhores práticas
Abra os canais virtuais ao Conectar e Reconectar. Feche os canais virtuais ao fazer logoff e Desconectar.
Tenha em mente as seguintes diretrizes ao criar scripts que usam funções de canal virtual.
Nomeando os Canais Virtuais
Você pode criar um máximo de 32 canais virtuais. Dezessete dos 32 canais são reservados para fins especiais.
-
Os nomes dos canais virtuais não devem ter mais de sete caracteres.
-
Os três primeiros caracteres são reservados para o nome do fornecedor, e os quatro seguintes para o tipo de canal. Por exemplo, CTXAUD representa o canal virtual de áudio da Citrix.
Os canais virtuais são referenciados por um nome ASCII de sete caracteres (ou mais curto). Em algumas versões anteriores do protocolo ICA, os canais virtuais eram numerados. Os números agora são atribuídos dinamicamente com base no nome ASCII, tornando a implementação mais fácil. Usuários que estão desenvolvendo código de canal virtual apenas para uso interno podem usar qualquer nome de sete caracteres que não entre em conflito com os canais virtuais existentes. Use apenas números e ASCII maiúsculo e minúsculo. Siga a convenção de nomenclatura existente ao adicionar seus próprios canais virtuais. Existem vários canais predefinidos. Os canais predefinidos começam com o identificador OEM CTX e são para uso exclusivo da Citrix.
Suporte a Double-Hop
| Canal Virtual | O double-hop é suportado? |
|---|---|
| Áudio | Não |
| Redirecionamento de Conteúdo do Navegador | Não |
| CDM | Sim |
| CEIP | Não |
| Área de Transferência | Sim |
| Continuum (MRVC) | Não |
| VC de Controle | Sim |
| Redirecionamento de Vídeo HTML5 (v1) | Sim |
| Teclado, Mouse | Sim |
| Multitoque | Não |
| NSAPVC | Não |
| Impressão | Sim |
| SensVC | Não |
| Smartcard | Sim |
| Twain | Sim |
| VC USB | Sim |
| Dispositivos WAYCOM -K2M usando VC USB | Sim |
| Compressão de Vídeo da Webcam | Sim |
| Redirecionamento de Mídia do Windows | Sim |
Consulte também
- SDK de Canal Virtual ICA
- A Citrix Developer Network é o lar de todos os recursos técnicos e discussões envolvendo o uso de SDKs da Citrix. Nesta rede, você pode encontrar acesso a SDKs, código de exemplo e scripts, extensões e plug-ins e documentação de SDK. Também estão incluídos os fóruns da Citrix Developer Network, onde ocorrem discussões técnicas sobre cada um dos SDKs da Citrix.
Neste artigo
- O que são canais virtuais ICA?
- Como os canais virtuais ICA funcionam
- Criando seu próprio canal virtual usando o SDK de Canal Virtual
- Criando seu próprio canal virtual usando o SDK de Objeto Cliente ICA
- Funcionalidade de passagem de canais virtuais
- Funcionalidade de passagem de canais virtuais entre uma sessão Citrix Virtual Desktop e uma sessão Citrix Virtual App
- Segurança e canais virtuais ICA
- Melhores práticas
- Consulte também