|
Bonjour,
Suite à plusieurs commentaires et demandes, je me suis dit que ce serait un bon moment pour écrire un article (ou une collection d'articles) sur le protocole ICA.
Donc, ce premier article s'attarde sur les canaux virtuels du protocole ICA et indique les "Best Practices" pour ceux qui souhaitent développer leurs propres canaux virtuels pour ajouter des fonctionnalités au procole ICA.
Que sont les canaux virtuels ICA ?
La grande majorité des fonctionnalités et de la communication entre un client ICA et Presentation Server (XenApp) est concentrée dans les canaux virtuels. Affichage, ports COM/LPT, impression, son, lecture vidéo, disques font tous appel à des canaux virtuels.
Régulièrement, des canaux virtuels sont ajoutés dans une nouvelle version de Presentation Server (et du client ICA) pour supporter de nouvelles fonctionnalités.
Un canal virtuel est un pilote coté client qui communique avec une application coté serveur. Citrix fournit de nombreux et divers canaux virtuels avec Presentation Server (XenApp) et le protocole ICA est conçu de sorte à permettre aux clients ou partenaires de créer leurs propres canaux virtuels à l'aide des SDK (Software Development Kits).
Description des canaux virtuels ICA
Côté client, les canaux virtuels correspondent à des pilotes "virtuels" aux fonctions spécifiques. Certains sont indispensables, d'autres optionnels.
Les pilotes "virtuels" opèrent au niveau de la couche Présentation du protocole. Il peut y avoir plusieurs de ces protocoles actif au même moment en multipliant les canaux fournis par la couche WinStation.
La liste de ces fonctions est contenue dans la clef VirtualDriver du registre : HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ICA 3.0
Thinwire3.0, (Indispensable) ClientDrive, ClientPrinterQueue, ClientPrinterPort, Clipboard, ClientComm, ClientAudio, LicenseHandler, (Indispensable) ProgramNeighborhood, (Indispensable) TWI, (Indispensable) ZL_FONT, ZLC, SmartCard, Multimedia, ICACTL, (Indispensable) SpeechMike, SSPI, TwainRdr, UserExperience
Note: Il est possible de désactiver certaines fonctionnalités du client en supprimant une ou plusieurs de ces valeurs. Par exemple, pour retirer le copier/coller entre une session ICA et la machine cliente, il suffit de supprimer le mot Clipboard.
Mais ATTENTION : cela n'est pas recommandé....
Voici une liste des fichiers des différents pilotes "virtuels" du client ICA ainsi que leur fonction. Ils sont tous sous la forme de DLL (User mode) et non de pilotes Windows (Kernel Mode).
vdcamN.dll – Audio bi-directionnel vdcdm30n.dll – Mappage des lecteurs de disque clients vdcmN.dll – Gestion des clients (supprimé dans les versions 10.x et suivantes, utilisé pour la mise à jour via la Client Update Database) vdcom30N.dll - Mappage des ports COM clients vdcpm30N.dll – Mappage des imprimantes clientes vdctln.dll – Canal de contrôle ICA vdeuemn.dll - End User Experience Monitoring vdfon30n.dll – Speed Screen Latency Reduction (ZLC) : système de polices de caractères du client vdkbhook.dll – Fonctionnement des touches Windows vdmmn.dll – Support du Multimedia (Speed Screen Multimedia Acceleration) vdpnn.dll – Support pour PN.exe vdscardn.dll – Support des Smartcard vdspl30n.dll – Support pour l'Universal Print Driver vdspmike.dll – Support pour le Philips Speech Mike. vdsspin.dll – Support pour Kerberos vdtw30n.dll – Gestion du ThinWire vdtwin.dll – Gestion du Seamless vdtwn.dll – Support du Twain vdzlcn.dll – Speed Screen Latency Reduction (ZLC) : Echo Local du Texte
Note: Certains canaux virtuels sont compilés au sein d'autres fichiers.
Compatibilité 64 bit
Même si le client ICA (ou XenApp Plugin for Windows) est compatible 64bit, aucun des pilotes de canaux virtuels ne sont implémentés avec des DLL 64bit.
Seuls les fichiers suivants ont été compilés en 64bit :
brapi64.dll confmgr.dll ctxlogging.dll ctxmui.dll icaconf.exe icaconfs.dll icafile.dll pnipcn64.dll pnsson.dll ssoncom.exe ssonstub.dl
A suivre ....
ThinIsFat
|