Partager via


Initialisation d’un pilote Miniport avec un bord inférieur WDM

Une fois qu’un pilote miniport a été chargé par le système d’exploitation, NDIS appelle la fonction MiniportInitializeEx du pilote miniport pour initialiser un miniport instance que le pilote miniport gère. Pour communiquer via un miniport instance qui a un bord inférieur WDM, le pilote miniport doit récupérer des informations spécifiques pour configurer ses communications.

Lors de l’initialisation de ce miniport instance, le pilote miniport doit appeler la fonction NdisMGetDeviceProperty pour récupérer les objets d’appareil nécessaires à la configuration de la communication avec le miniport instance via une interface WDM. Dans cet appel, le pilote miniport transmet la poignée au miniport instance dans le paramètre MiniportAdapterHandle et les mémoires tampons qui reçoivent des pointeurs vers DEVICE_OBJECT structures. Le pilote miniport utilise le pointeur récupéré vers l’objet de périphérique suivant (paramètre NextDeviceObject ) pour créer et envoyer des irps. Pour plus d’informations, consultez Gestion des IRPs.

Un pilote miniport avec un bord inférieur WDM doit être un pilote miniport désérialisé. Un pilote miniport désérialisé gère sa propre file d’attente d’envoi et de réception des demandes en interne chaque fois qu’il ne dispose pas de ressources suffisantes pour gérer ces demandes immédiatement ; si un pilote miniport n’est pas désérialisé, NDIS gère cette file d’attente. Un pilote miniport NDIS-WDM doit être désérialisé, car il envoie et reçoit des paquets en dehors du contexte des appels NDIS. Lors de l’initialisation d’un miniport instance, un pilote miniport NDIS-WDM doit spécifier la fonctionnalité désérialisée. Tous les pilotes miniportS NDIS 6.0 et versions ultérieures sont désérialisés.

Notez qu’un pilote miniport NDIS-WDM ne peut pas être un pilote intermédiaire (un pilote qui expose une interface de pilote miniport en haut et une interface de pilote de protocole en bas).