Pilotes miniport

Un pilote miniport NDIS a deux fonctions de base :

  • Gestion d’une carte d’interface réseau, y compris l’envoi et la réception de données via la carte réseau.

  • Interfaçage avec des pilotes de niveau supérieur, tels que des pilotes de filtre, des pilotes intermédiaires et des pilotes de protocole.

Un pilote miniport communique avec ses cartes réseau et avec des pilotes de niveau supérieur via la bibliothèque NDIS. La bibliothèque NDIS exporte un ensemble complet de fonctions (NdisMXxx et autres fonctions NdisXxx ) qui encapsulent toutes les fonctions du système d’exploitation qu’un pilote miniport doit appeler. Le pilote miniport, à son tour, doit exporter un ensemble de points d’entrée (fonctions MiniportXxx ) que NDIS appelle à ses propres fins, ou pour le compte de pilotes de niveau supérieur, pour accéder au pilote miniport.

Notes

Pour plus d’informations sur la pile de pilotes NDIS et un diagramme montrant la relation entre les quatre types de pilotes NDIS, consultez Pile de pilotes NDIS.

Les opérations d’envoi et de réception suivantes illustrent l’interaction des pilotes miniport avec NDIS et avec les pilotes de niveau supérieur :

  • Lorsqu’un pilote de transport a un paquet à transmettre, il appelle une fonction NdisXxx exportée par la bibliothèque NDIS. NDIS transmet ensuite le paquet au pilote miniport en appelant la fonction MiniportXxx appropriée exportée par le pilote miniport. Le pilote miniport transfère ensuite le paquet à la carte réseau pour transmission en appelant les fonctions NdisXxx appropriées.

  • Lorsqu’une carte réseau reçoit un paquet adressé à elle-même, elle peut publier une interruption matérielle gérée par NDIS ou le pilote miniport de la carte réseau. NDIS avertit le pilote miniport de la carte réseau en appelant la fonction MiniportXxx appropriée. Le pilote miniport configure le transfert des données à partir de la carte réseau, puis indique la présence du paquet reçu aux pilotes de niveau supérieur liés en appelant la fonction NdisXxx appropriée.

Pilotes miniport sans connexion et Connection-Oriented

NDIS prend en charge les pilotes miniport pour les environnements sans connexion et les environnements orientés connexion.

Les pilotes miniport sans connexion contrôlent les cartes réseau pour les médias réseau sans connexion, tels qu’Ethernet. Les pilotes miniport sans connexion sont divisés en pilotes désérialisés et sérialisés :

Note Tous les pilotes NDIS 6.0 et ultérieur sont désérialisés.

  • Les pilotes désérialisés sérialisent le fonctionnement de leurs propres fonctions MiniportXxx et qui souhaitent mettre en file d’attente tous les paquets d’envoi entrants en interne. Il en résulte de meilleures performances en duplex complet, à condition que les sections critiques du pilote (code qu’un seul thread à la fois peut exécuter) soient réduites.

  • Les pilotes sérialisés s’appuient sur NDIS pour sérialiser les appels à leurs fonctions MiniportXxx et gérer leurs files d’attente d’envoi.

Les pilotes miniport orientés connexion contrôlent les cartes réseau pour les supports réseau orientés connexion, tels que le N ISDN. Les pilotes miniport orientés connexion sont toujours désérialisés : ils sérialisent toujours le fonctionnement de leurs propres fonctions MiniportXxx et mettent en file d’attente en interne tous les paquets d’envoi entrants.

Un pilote miniport NDIS peut avoir un bord inférieur non NDIS (voir la figure suivante).

Diagramme montrant un pilote miniport NDIS avec un bord inférieur non NDIS.

Via son bord inférieur non-NDIS, un pilote miniport utilise l’interface de classe pour un bus, comme le bus USB (Universal Serial Bus) pour contrôler un appareil sur le bus. Le pilote miniport communique avec l’appareil en envoyant des paquets de demandes d’E/S (IRP) au bus ou directement aux appareils distants attachés au bus. Sur son bord supérieur, le pilote miniport expose une interface de pilote de miniport NDIS standard, qui permet au pilote miniport de communiquer avec les pilotes NDIS qui se chevauchent.

Pilotes miniport NDIS

Référence du pilote NDIS Miniport