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)

Voir aussi


NDIS_OID_REQUEST

NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE