Partager via


Arrêt d’un pilote PF Miniport

Cette rubrique décrit les étapes impliquées dans l’arrêt du pilote miniport pour une fonction physique PCI Express (PCIe) sur un adaptateur qui prend en charge la virtualisation d’E/S racine unique (SR-IOV). Ces étapes sont illustrées dans la figure suivante.

Diagramme montrant le processus d’arrêt d’un pilote PF Miniport, illustrant le flux de requêtes et de fonctions entre le pilote de surclassement, NDIS et le pilote pf miniport.

Cette rubrique contient les informations suivantes :

Actions effectuées par les pilotes NDIS et overlying avant l’appel de MiniportHaltEx

Avant que NDIS appelle la fonction MiniportHaltEx du pilote PF miniport, il effectue d’abord les opérations suivantes :

  • NDIS dissocie tous les pilotes de protocole précédemment liés au pilote pf miniport sous-jacent. Pour ce faire, NDIS appelle la fonction ProtocolUnbindAdapterEx du pilote de protocole.

  • NDIS détache tous les pilotes de filtre précédemment liés au pilote pf miniport sous-jacent. Pour ce faire, NDIS appelle la fonction FilterDetach du pilote de filtre.

Lorsqu’un pilote de filtre ou de protocole de dépassement est indépendant ou détaché du pilote pf miniport, il doit suivre les étapes suivantes :

  1. Le pilote doit émettre une demande de jeu d’identificateur d’objet (OID) de OID_RECEIVE_FILTER_CLEAR_FILTER pour effacer tous les filtres de réception qu’il a précédemment définis. Le pilote définit ces filtres sur le port virtuel par défaut (VPort) ou sur les ports virtuels non définis par défaut du commutateur de carte réseau sur la carte réseau. Le pilote définit ces filtres en émettant des requêtes de méthode OID de OID_RECEIVE_FILTER_SET_FILTER au pilote pf miniport.

  2. Le pilote doit émettre une demande de jeu d’OID de OID_NIC_SWITCH_DELETE_VPORT pour supprimer tous les VPorts non définis par défaut qu’il a créés précédemment sur le commutateur de carte réseau. Le pilote définit ces VPorts en émettant des requêtes de méthode OID de OID_NIC_SWITCH_CREATE_VPORT au pilote pf miniport.

  3. Le pilote doit émettre une demande de jeu d’OID de OID_NIC_SWITCH_FREE_VF pour libérer les ressources de toutes les fonctions virtuelles PCIe qu’il a précédemment allouées sur le commutateur de carte réseau. Le pilote alloue des ressources pour la VF en émettant des requêtes de méthode OID de OID_NIC_SWITCH_ALLOCATE_VF au pilote pf miniport.

    Pour plus d’informations, consultez Libérer des ressources pour une fonction virtuelle.

    Note Lorsque les ressources de la VF sont libérées, NDIS appelle la fonction MiniportHaltEx du pilote de miniport VF. Pour plus d’informations, consultez Arrêt d’un pilote VF Miniport.

Une fois que tous les filtres de réception, les VPorts non par défaut et les machines virtuelles ont été supprimés du commutateur de carte réseau, NDIS effectue les étapes suivantes :

  • NDIS supprime tous les commutateurs de carte réseau en émettant des demandes de jeu d’OID de OID_NIC_SWITCH_DELETE_SWITCH au pilote pf miniport. Pour plus d’informations sur la suppression d’un commutateur de carte réseau, consultez Suppression d’un commutateur de carte réseau.

    Note À compter de Windows Server 2012, l’interface SR-IOV prend uniquement en charge le commutateur de carte réseau par défaut sur la carte réseau.

  • Une fois tous les commutateurs de carte réseau supprimés, NDIS appelle la fonction MiniportHaltEx du pilote pf miniport.

Actions effectuées par le pilote PF Miniport Lorsque MiniportHaltEx est appelé

Lorsque NDIS appelle MiniportHaltEx, le pilote pf miniport doit suivre les étapes suivantes :

  1. Si le pilote pf miniport prend en charge la création statique de commutateurs de carte réseau et que tous les commutateurs de carte réseau ont été supprimés, le pilote doit désactiver la virtualisation sur l’adaptateur en appelant NdisMEnableVirtualization avec le paramètre EnableVirtualization défini sur FALSE et le paramètre NumVFs défini sur zéro.

    NdisMEnableVirtualization efface le membre NumVFs et le bit Enable VF dans la structure de capacité étendue SR-IOV dans l’espace de configuration PCIe du pf de la carte réseau.

    Note Si le pilote pf miniport prend en charge la création et la configuration dynamiques de commutateurs de carte réseau, il doit appeler NdisMEnableVirtualization quand le pilote gère la demande de jeu d’OID de OID_NIC_SWITCH_DELETE_SWITCH. Cette requête OID est émise avant l’appel de MiniportHaltEx .

  2. Le pilote pf miniport effectue les autres tâches associées à une opération d’arrêt de miniport. Pour plus d’informations, consultez Arrêt d’un adaptateur Miniport.