Gestion du moteur de connexion
Dans RDBSS, le moteur de connexion est conçu pour mapper et émuler les spécifications TDI aussi étroitement que possible. Cela fournit un mécanisme efficace qui exploite entièrement l’implémentation TDI sous-jacente pour une utilisation par les mini-redirecteurs réseau.
Bien que le moteur de connexion RDBSS ne fasse pas de TDI abstrait, les redirecteurs réseau sont également libres de communiquer directement avec TDI au lieu d’utiliser ces routines de moteur de connexion RDBSS. Les routines de moteur de connexion RDBSS existantes qui fournissent des wrappers pour TDI ont été développées pour prendre en charge les réseaux Microsoft, de sorte qu’elles sont très centrées sur Windows et ne conviennent peut-être pas aux autres directeurs réseau. En outre, les routines du moteur de connexion dans RDBSS doivent être supprimées des systèmes d’exploitation Windows publiés après Windows Server 2003. À l’avenir, chaque redirecteur réseau sera responsable du développement des routines de moteur de connexion nécessaires (vers TDI ou tout autre transport). Par exemple, un redirecteur WebDAV peut communiquer avec un processus de réflecteur en mode utilisateur pour envoyer des paquets HTTP (TCP/IP standard) plutôt que TDI.
Les routines du moteur de connexion RDBSS traitent les entités suivantes :
Transports
Adresses de transport
Connexions de transport
Circuits virtuels sur une connexion
Les transports sont des liaisons aux différents fournisseurs de services de transport sur n’importe quel système. Les adresses de transport sont les points de terminaison de connexion locaux. Les connexions sont des connexions de transport entre des points de terminaison. Chaque connexion encapsule un certain nombre de circuits virtuels (généralement un).
Les structures de données importantes suivantes sont créées et manipulées par les différentes routines de moteur de connexion associées à RDBSS :
RXCE_TRANSPORT-encapsule tous les paramètres d’un transport
RXCE_ADDRESS-encapsule tous les paramètres d’une adresse de transport
RXCE_CONNECTION-encapsule tous les paramètres d’une connexion de transport
RXCE_VC-encapsule tous les paramètres d’un circuit virtuel sur une connexion de transport
Les pilotes de mini-redirecteur réseau peuvent utiliser ces structures de données et appeler les routines fournies pour chaque type afin de générer et de détruire les parties du moteur de connexion. Ces routines n’allouent pas ou ne libèrent pas la mémoire associée à ces structures. Cela fournit un mécanisme flexible pour les pilotes de mini-redirecteur afin de gérer les instances de ces structures de données du moteur de connexion.
Les quatre types de moteurs de connexion décrits ci-dessus sont marqués au début de chaque structure de données avec une signature RXCE_SIGNATURE spéciale qui est largement utilisée par RDBSS pour la validation.
RDBSS fournit les routines de moteur de connexion suivantes qui peuvent être utilisées par les pilotes de mini-redirecteurs réseau.
Routine | Description |
---|---|
Cette routine alloue un IRP pour l’utiliser par le moteur de connexion et associe une MDL à l’IRP. Cette routine n’est disponible que sur Windows XP. |
|
Cette routine associe une adresse de transport à une liaison de transport. |
|
Cette routine établit une connexion entre une adresse de connexion RDBSS locale et une adresse distante donnée. Cette routine doit être appelée dans le contexte d’un thread de travail système. |
|
Cette routine établit une connexion entre une adresse de connexion RDBSS locale et une adresse distante donnée et prend en charge plusieurs transports. Un ensemble d’adresses locales est spécifié et cette routine tente de se connecter au serveur cible via tous les transports associés aux adresses locales. Une connexion est choisie comme gagnant en fonction des options de connexion. Cette routine doit être appelée dans le contexte d’un thread de travail système. |
|
Cette routine lie un transport RDBSS à un nom de transport spécifié. |
|
Cette routine ajoute un circuit virtuel à une connexion spécifiée. |
|
Cette routine annule une demande de connexion émise précédemment. Notez que cette routine n’est actuellement pas implémentée. |
|
Cette routine libère un IRP utilisé par le moteur de connexion. Cette routine n’est disponible que sur Windows XP. |
|
Cette routine initie une déconnexion sur le circuit virtuel. Cette routine doit être appelée dans le contexte d’un thread de travail système. |
|
Cette routine retourne la structure ADAPTER_STATUS pour un transport donné. |
|
Cette routine interroge les informations relatives à une connexion. |
|
Cette routine retourne les informations de transport sur le nombre de connexions et la qualité de service pour un transport donné. |
|
Cette routine envoie un TSDU le long de la connexion spécifiée sur un circuit virtuel. |
|
Cette routine envoie un TSDU à une adresse de transport spécifiée. |
|
Cette routine supprime une adresse de transport d’une liaison de transport. |
|
Cette routine détruit une connexion donnée. |
|
Cette routine dissocie du transport spécifié. |
|
Cette routine supprime une connexion virtuelle. |
Note TDI ne sera pas pris en charge dans les versions de Microsoft Windows après Windows Vista. Utilisez la plateforme de filtrage Windows ou le noyau Winsock à la place.