Partager via


Énumération de ports virtuels sur une carte réseau

Un pilote ou une application utilisateur excessive peut obtenir une liste de tous les ports virtuels (VPorts) sur un commutateur de carte réseau d’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_VPORTS pour obtenir cette liste.

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 :

Avant que le pilote ou l’application utilisateur excessivement n’émet la requête OID_NIC_SWITCH_ENUM_VPORTS , elle doit initialiser une structure de NDIS_NIC_SWITCH_VPORT_INFO_ARRAY transmise avec la demande. Le pilote ou l’application doit suivre ces instructions lors de l’initialisation de la structure NDIS_NIC_SWITCH_VPORT_INFO_ARRAY :

  • Si l’indicateur NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH est défini dans le membre Flags, les informations sont retournées pour tous les VPorts créés sur un commutateur de carte réseau spécifié. Le commutateur de carte réseau est spécifié par le membre SwitchId de cette structure.

    Note À compter de Windows Server 2012, l’interface SR-IOV ne prend en charge qu’un seul commutateur de carte réseau sur la carte réseau. Ce commutateur est appelé commutateur de carte réseau par défaut et est référencé par l’identificateur NDIS_DEFAULT_SWITCH_ID. Quels que soient les indicateurs définis dans le membre Flags , le membre SwitchId doit être défini sur NDIS_DEFAULT_SWITCH_ID.

  • Si l’indicateur NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_FUNCTION est défini dans le membre Indicateurs, des informations sont retournées pour tous les VPorts attachés à une fonction physique PCI Express (PCIe) ou une fonction virtuelle (VF) spécifiée sur la carte réseau. Le PF ou VF est spécifié par le membre AttachedFunctionId de cette structure.

    Si le membre AttachedFunctionId a la valeur NDIS_PF_FUNCTION_ID, des informations sont retournées pour tous les VPorts. Cela inclut le VPort par défaut qui est attaché au PF. Si le membre AttachedFunctionId est défini sur un identificateur VF valide, les informations sont retournées pour tous les VPorts attachés à la VF spécifiée.

    Note À compter de Windows Server 2012, un seul VPort non par défaut peut être attaché à une VF. Toutefois, plusieurs VPorts (y compris le VPort par défaut) peuvent être attachés au PF.

  • Si le membre Flags est défini sur zéro, les informations sont retournées pour tous les VPorts attachés au PF ou à la VF sur la carte réseau. Dans ce cas, les valeurs de SwitchId et AttachedFunctionId sont ignorées.

NDIS gère la demande de OID_NIC_SWITCH_ENUM_VPORTS pour les pilotes miniport. NDIS retourne les informations d’un cache interne des données qu’il gère à partir de l’inspection des sources suivantes :