Partager via


Prise en charge des cartes d’interface réseau

Cette rubrique décrit les types de cartes d’interface réseau (CARTES réseau) qu’un pilote miniport NDIS peut gérer, ainsi que la façon dont les différents types de cartes réseau affectent la façon dont un pilote transfère les données réseau.

Signaler le type de support d'une carte réseau à NDIS

Pour signaler un type de média pour une NIC, un pilote miniport transmet un pointeur vers une structure NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES dans le paramètre MiniportAttributes de la fonction NdisMSetMiniportAttributes. Un pilote miniport appelle NdisMSetMiniportAttributes à partir de sa fonction MiniportInitializeEx lors de l’initialisation. Les pilotes Miniport doivent définir les attributs MiniportAttributes après avoir défini les attributs d’inscription dans la structure NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES et avant de définir d’autres attributs. La définition des attributs MiniportAttributes est obligatoire. Le pilote définit le membre MediaType de la structure NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES sur le type de média approprié lors de la définition des attributs MiniportAttributes .

Lorsqu’un pilote de protocole NDIS overlying appelle NdisOpenAdapterEx pour établir une liaison à un adaptateur miniport spécifié, il fournit une liste de types moyens sur lesquels il peut fonctionner. NDIS utilise les informations du pilote miniport et du pilote de protocole pour configurer une liaison. Cette liaison fournit le chemin d’accès pour transférer des données réseau vers le haut et vers le bas de la pile des pilotes.

Physical NICs

Les étapes qu’un pilote miniport effectue pour initialiser une carte miniport et envoyer et recevoir des données réseau peuvent dépendre des fonctionnalités d’un appareil physique, comme suit.

  • NDIS-WDM NICs

    Pour les cartes réseau NDIS-WDM, telles que les cartes réseau basées sur USB, la façon dont le pilote miniport gère la mémoire avec DMA n’a pas d’importance pour NDIS et n’est pas visible pour lui.

  • Cartes réseau de type DMA maître de bus

    Ces cartes réseau peuvent accéder directement à la mémoire hôte via un contrôleur DMA intégré qui gère le transfert de données entre le réseau et la mémoire hôte sans utiliser le processeur hôte.

    Pour envoyer, le pilote miniport configure la carte réseau pour mapper les mémoires tampons de sortie. Le pilote miniport entraîne ensuite le dispositif à commencer son transfert à partir de cette mémoire. Le contrôleur DMA du NIC transfère les données de la mémoire système partagée sur le réseau et interrompt le processeur une fois l’envoi terminé. Pour recevoir, le contrôleur DMA transfère les données entrantes à la mémoire hôte avant de notifier l’hôte avec une interruption.

    Une carte réseau contrôleur DMA de bus dispose généralement d'un buffer circulaire intégré que le pilote miniport associe à un ensemble de tampons dans la mémoire système. En règle générale, la carte réseau peut être programmée pour gérer efficacement plusieurs paquets. Un pilote miniport qui gère une telle carte réseau prend généralement en charge les envois et réceptions multipacket, car la carte réseau peut gérer efficacement plusieurs paquets et améliorer ainsi son débit d’E/S.

  • Cartes réseau DMA Nonbusmaster

    Actuellement, les cartes réseau DMA nonbusmaster incluent les éléments suivants :

    • Cartes réseau système DMA

      Un pilote miniport qui gère une telle carte réseau utilise le contrôleur DMA du système pour gérer le transfert de données de paquets vers et depuis le réseau. Le transfert des données nécessite la coopération de l’UC hôte.

Cartes d'interface réseau virtuelles et miniports

Dans une machine virtuelle, les pilotes miniport NDIS peuvent gérer les ressources logicielles uniquement en tant que miniport virtuel, ou gérer une carte réseau virtuelle qui représente des ressources matérielles. Le tableau suivant explique les différences entre un miniport virtuel et une carte réseau virtuelle.

Attribute Virtual miniport Virtual NIC
Definition Pilote miniport NDIS mappé à un appareil PnP énuméré par logiciel. NIC (carte réseau) gérée par l’hyperviseur du système d’exploitation hôte. L’hyperviseur fait penser à la machine virtuelle qu’elle a du matériel, mais aucun tel matériel n’existe réellement dans le monde physique.
Has interrupts No Yes
Peut utiliser DMA No Yes
Est créé ou détruit par... Le système d’exploitation invité Système d’exploitation hôte
Peut accéder à l'extérieur d'une machine virtuelle invitée No Yes