OID_SRIOV_BAR_RESOURCES
NDIS émet une demande de méthode d’identificateur d’objet (OID) de OID_SRIOV_BAR_RESOURCES pour déterminer les ressources de mémoire qui ont été allouées à un registre d’adresses de base (BAR) PCI Express (PCIe) d’une fonction virtuelle PCIe (VF).
NDIS émet cette demande de méthode OID au pilote miniport pour la fonction physique PCIe (PF) de la carte réseau. Cette demande de méthode OID est requise pour les pilotes pf miniport qui prennent en charge l’interface de virtualisation d’E/S racine unique (SR-IOV).
Le membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers une mémoire tampon. Cette mémoire tampon contient les structures suivantes :
Structure de NDIS_SRIOV_BAR_RESOURCES_INFO qui spécifie les fonctions VF et BAR pour lesquelles le pilote miniport PF retourne des informations sur les ressources.
Structure CM_PARTIAL_RESOURCE_DESCRIPTOR qui suit la structure NDIS_SRIOV_BAR_RESOURCES_INFO . La structure CM_PARTIAL_RESOURCE_DESCRIPTOR contient des informations sur les ressources mémoire qui ont été allouées au bar spécifié.
Notes
NDIS émet une demande de méthode OID de OID_SRIOV_BAR_RESOURCES pour obtenir l’adresse physique système et la longueur des ressources mémoire qui ont été allouées à un bar VF. Avant d’effectuer la demande de méthode OID, NDIS met en forme la structure NDIS_SRIOV_BAR_RESOURCES_INFO de la manière suivante :
NDIS définit le membre VFId de la structure NDIS_SRIOV_BAR_RESOURCES_INFO sur l’identificateur associé à la VF.
NDIS définit le membre BarIndex de la structure NDIS_SRIOV_BAR_RESOURCES_INFO sur l’index BAR de la VF spécifiée. L’index BAR est le décalage du registre dans la table des fichiers BAR dans l’espace de configuration PCI.
NDIS définit le membre BarResourcesOffset de la structure NDIS_SRIOV_BAR_RESOURCES_INFO sur le décalage, en unités d’octets, du début de la structure NDIS_SRIOV_BAR_RESOURCES_INFO à une structure CM_PARTIAL_RESOURCE_DESCRIPTOR .
Note Les pilotes sur-ment, tels que les pilotes de protocole ou de filtre, ne peuvent pas émettre de requêtes de méthode OID de OID_SRIOV_BAR_RESOURCES au pilote pf miniport.
Lorsque le pilote pf miniport reçoit la demande de méthode OID, le pilote retourne les ressources du bar spécifié en mettant en forme la structure CM_PARTIAL_RESOURCE_DESCRIPTOR dans le membre InformationBuffer de la structure NDIS_OID_REQUEST . Le pilote met en forme la structure CM_PARTIAL_RESOURCE_DESCRIPTOR avec les ressources matérielles système associées au bar pour la machine virtuelle spécifiée.
Note Le pilote doit mettre en forme la structure d’un type de ressource CmResourceTypeMemory.
Codes d’état de retour
Le pilote pf miniport retourne l’un des codes de status suivants pour la demande de méthode de OID_SRIOV_BAR_RESOURCES.
Code d’état | Description |
---|---|
NDIS_STATUS_SUCCESS |
La requête OID s’est terminée avec succès. |
NDIS_STATUS_NOT_SUPPORTED |
Le pilote pf miniport ne prend pas en charge l’interface de virtualisation d’E/S racine unique (SR-IOV) ou n’est pas activé pour utiliser l’interface. |
NDIS_STATUS_INVALID_PARAMETER |
Un ou plusieurs des membres de la structure NDIS_SRIOV_BAR_RESOURCES_INFO ont des valeurs non valides. |
NDIS_STATUS_INVALID_LENGTH |
La mémoire tampon d’informations est inférieure à (sizeof(NDIS_SRIOV_BAR_RESOURCES_INFO) + sizeof(CM_PARTIAL_RESOURCE_DESCRIPTOR). Le pilote pf miniport doit définir les DONNÉES. METHOD_INFORMATION. Le membre BytesNeeded dans le NDIS_OID_REQUEST structure à la taille de mémoire tampon minimale requise. |
NDIS_STATUS_FAILURE |
La demande a échoué pour d’autres raisons. |
Spécifications
Version |
Pris en charge dans NDIS 6.30 et versions ultérieures. |
En-tête |
Ntddndis.h (inclure Ndis.h) |