Partager via


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

RxCeAllocateIrpWithMDL

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.

RxCeBuildAddress

Cette routine associe une adresse de transport à une liaison de transport.

RxCeBuildConnection

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.

RxCeBuildConnectionOverMultipleTransports

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.

RxCeBuildTransport

Cette routine lie un transport RDBSS à un nom de transport spécifié.

RxCeBuildVC

Cette routine ajoute un circuit virtuel à une connexion spécifiée.

RxCeCancelConnectRequest

Cette routine annule une demande de connexion émise précédemment.

Notez que cette routine n’est actuellement pas implémentée.

RxCeFreeIrp

Cette routine libère un IRP utilisé par le moteur de connexion.

Cette routine n’est disponible que sur Windows XP.

RxCeInitiateVCDisconnect

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.

RxCeQueryAdapterStatus

Cette routine retourne la structure ADAPTER_STATUS pour un transport donné.

RxCeQueryInformation

Cette routine interroge les informations relatives à une connexion.

RxCeQueryTransportInformation

Cette routine retourne les informations de transport sur le nombre de connexions et la qualité de service pour un transport donné.

RxCeSend

Cette routine envoie un TSDU le long de la connexion spécifiée sur un circuit virtuel.

RxCeSendDatagram

Cette routine envoie un TSDU à une adresse de transport spécifiée.

RxCeTearDownAddress

Cette routine supprime une adresse de transport d’une liaison de transport.

RxCeTearDownConnection

Cette routine détruit une connexion donnée.

RxCeTearDownTransport

Cette routine dissocie du transport spécifié.

RxCeTearDownVC

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.