OID_SRIOV_WRITE_VF_CONFIG_BLOCK
Un pilote qui surgèle émet une demande de jeu d’identificateur d’objet (OID) de OID_SRIOV_WRITE_VF_CONFIG_BLOCK pour écrire des données dans un bloc de configuration de fonction virtuelle (VF) PCI Express (PCIe).
Les pilotes sur-ment émettent cette demande de définition 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 allouée à l’appelant. Cette mémoire tampon est mise en forme pour contenir les éléments suivants :
Une NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS structure qui contient le décalage, en unités d’octets, du début de cette structure à un emplacement dans la mémoire tampon qui contient les données écrites dans le bloc de configuration VF.
Espace tampon supplémentaire pour les données à écrire dans le bloc de configuration VF spécifié.
Notes
Un bloc de configuration VF est utilisé pour la communication backchannel entre les pilotes pf et VF miniport. L’IHV peut définir un ou plusieurs blocs de configuration VF pour les pilotes miniport. Chaque bloc de configuration VF a un format, une longueur et un ID de bloc définis par IHV.
Note Les données de chaque bloc de configuration VF sont utilisées uniquement par les pilotes pf et VF miniport.
Avant d’effectuer la demande de jeu d’OID de OID_SRIOV_WRITE_VF_CONFIG_BLOCK, le pilote qui se superpose doit définir les membres de NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS structure de la manière suivante :
Définissez le membre VFId sur l’identificateur du VF pour lequel les informations doivent être écrites.
Définissez le membre BlockId sur l’identificateur du bloc de configuration à partir duquel les informations doivent être écrites.
Définissez le membre Length sur le nombre d’octets à écrire dans le bloc de configuration VF.
Définissez le membre BufferOffset sur le décalage dans la mémoire tampon (référencé par le membre InformationBuffer ) qui contient les données à écrire à partir du bloc de configuration VF spécifié. Ce décalage est spécifié en unités d’octets à partir du début de la structure NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS .
Lorsqu’il gère la demande de jeu d’OID de OID_SRIOV_WRITE_VF_CONFIG_BLOCK, le pilote pf miniport doit suivre les instructions suivantes :
Le pilote miniport PF doit vérifier que le VF, spécifié par le membre VFId de la structure NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS , dispose de ressources qui ont été précédemment allouées. Le pilote miniport PF alloue des ressources pour une machine virtuelle lors d’une demande de méthode OID de OID_NIC_SWITCH_ALLOCATE_VF. Si les ressources pour le VF spécifié n’ont pas été allouées, le pilote doit échouer la requête OID.
Le pilote pf miniport doit vérifier que le membre BlockId de la structure NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS spécifie un bloc de configuration VF valide. Si ce n’est pas le cas, le pilote doit échouer à la requête OID.
Pour plus d’informations sur la communication backchannel au sein de l’interface de virtualisation d’E/S racine unique (SR-IOV), consultez Communication backchannel SR-IOV PF/VF.
Codes d’état de retour
Le pilote miniport retourne l’un des codes status suivants pour la demande de jeu d’OID de OID_SRIOV_WRITE_VF_CONFIG_BLOCK :
Code d’état | Description |
---|---|
NDIS_STATUS_SUCCESS |
La requête OID s’est terminée avec succès. |
NDIS_STATUS_NOT_SUPPORTED |
Le pilote 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_WRITE_VF_CONFIG_BLOCK_PARAMETERS ont des valeurs non valides. |
NDIS_STATUS_INVALID_LENGTH |
La mémoire tampon d’informations était trop courte. NDIS définit les DONNÉES. SET_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) |