Énumération de fonctions virtuelles sur une carte réseau
Un pilote ou une application utilisateur qui se superpose peut obtenir une liste de toutes les fonctions virtuelles (VFs) PCI Express (PCIe) sur une carte réseau qui prend en charge la virtualisation d’E/S racine unique (SR-IOV). Le pilote ou l’application émet une demande de méthode d’identificateur d’objet (OID) de OID_NIC_SWITCH_ENUM_VFS pour obtenir cette liste.
Avant que le pilote ou l’application n’émet la requête OID, elle doit initialiser une structure NDIS_NIC_SWITCH_VF_INFO_ARRAY qui est transmise avec la requête. Le pilote ou l’application doit suivre ces instructions lors de l’initialisation de la structure NDIS_NIC_SWITCH_VF_INFO_ARRAY :
Si l’indicateur NDIS_NIC_SWITCH_VF_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH est défini dans le membre Indicateurs , le pilote ou l’application qui sur-repose doit définir le membre SwitchId sur l’identificateur d’un commutateur de carte réseau sur la carte réseau SR-IOV. En définissant ces membres de cette façon, les informations VF sont retournées uniquement pour le commutateur de carte réseau spécifié sur la carte réseau SR-IOV.
Note Le pilote et l’application en mode utilisateur qui se superposent peuvent obtenir les identificateurs de commutateur de carte réseau en émettant une requête OID de OID_NIC_SWITCH_ENUM_SWITCHES.
Si le membre Flags est défini sur zéro, le pilote ou l’application doit définir le membre SwitchId sur zéro. En définissant ces membres de cette façon, les informations VF sont retournées pour tous les commutateurs de carte réseau sur la carte réseau SR-IOV.
Note À compter de Windows Server 2012, Windows prend uniquement en charge le commutateur de carte réseau par défaut sur la carte réseau. Quels que soient les indicateurs définis dans le membre Flags , le membre SwitchId doit être défini sur NDIS_DEFAULT_SWITCH_ID.
Après un retour réussi de cette requête OID, le membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers une mémoire tampon qui contient les éléments suivants :
Structure NDIS_NIC_SWITCH_VF_INFO_ARRAY qui définit le nombre d’éléments dans le tableau.
Tableau de structures NDIS_NIC_SWITCH_VF_INFO . Chacune de ces structures contient des informations sur une seule VF sur un commutateur de carte réseau de la carte réseau. Une VF est attachée à un commutateur de carte réseau via des demandes de méthode OID de OID_NIC_SWITCH_ALLOCATE_VF.
Note Si aucune machine virtuelle n’est attachée à un commutateur de carte réseau sur la carte réseau, le membre NumElements de la structure NDIS_NIC_SWITCH_VF_INFO_ARRAY est défini sur zéro et aucune structure NDIS_NIC_SWITCH_VF_INFO n’est retournée.
Pour plus d’informations sur les commutateurs de carte réseau, consultez Commutateurs de carte réseau.
NDIS gère la demande de OID_NIC_SWITCH_ENUM_VFS pour les pilotes miniport. NDIS retourne les informations à partir d’un cache interne des données qu’il gère à partir de l’inspection des sources suivantes :
Demandes de méthode OID de OID_NIC_SWITCH_ALLOCATE_VF.
OID set requests of OID_NIC_SWITCH_VF_PARAMETERS.