Partager via


Conseils d’implémentation et exigences pour WDM Lower Edge

Cette rubrique décrit les conseils et les conditions requises pour implémenter un pilote miniport NDIS-WDM. Un pilote miniport NDIS-WDM peut appeler des fonctions NDIS et non-NDIS. Ces fonctions non-NDIS incluent, par exemple, les routines et fonctions de prise en charge en mode noyau WDM pour une interface de pilote de bus particulière.

Lorsque vous implémentez un pilote miniport NDIS-WDM, gardez à l’esprit les points suivants :

  • La création d’un pilote miniport NDIS-WDM nécessite que l’indicateur NDIS_WDM soit défini avant l’inclusion du fichier d’en-tête Ndis.h. La définition de l’indicateur NDIS_WDM garantit que Ndis.h inclut automatiquement le fichier d’en-tête WDM approprié. L’indicateur NDIS_WDM doit être incorporé au début du code source du pilote miniport ou défini dans le fichier Sources du pilote miniport. Un pilote miniport NDIS-WDM nécessite un fichier d’en-tête WDM pour appeler des routines en mode noyau telles qu’IoCallDriver et IoAllocateIrp.

  • Les appels de fonction pour une interface de pilote de bus particulière nécessitent les fichiers d’en-tête pour ce pilote de bus.

  • L’inclusion d’en-têtes NDIS et non NDIS dans le même fichier source n’est pas recommandée, car ils peuvent ne pas être compatibles. Autrement dit, des fichiers sources distincts doivent être créés pour le code qui appelle des fonctions NDIS et pour le code qui appelle des fonctions non-NDIS.

  • Un pilote miniport NDIS-WDM doit appeler les fonctions NDIS appropriées pour allouer et libérer des ressources, sauf si le pilote miniport NDIS-WDM alloue et libère des ressources dans l’un des scénarios suivants :

    • Une ressource, généralement une ressource de mémoire, est allouée par le pilote miniport NDIS-WDM et est ensuite libérée par une entité non-NDIS, telle qu’une interface de pilote de bus,
    • Une ressource, généralement une ressource de mémoire, est allouée par une entité non-NDIS et est publiée ultérieurement par le pilote miniport NDIS-WDM.

    Dans les scénarios précédents, le pilote miniport NDIS-WDM doit appeler les routines WDM appropriées pour allouer ou libérer des ressources pour l’entité non-NDIS.