Partager via


NdisMWriteConfigBlock, fonction (ndis.h)

Un pilote miniport pour une fonction virtuelle PCI Express (PCIe) appelle la fonction NdisMWriteConfigBlock pour écrire des données dans un bloc de configuration VF. Les opérations d’écriture sur un bloc de configuration VF sont gérées par le pilote miniport de la fonction physique PCIe (PF) de la carte réseau.

RemarqueNdisMWriteConfigBlock ne doit être appelé que par le pilote miniport pour la machine virtuelle d’une carte réseau.
 

Syntaxe

NDIS_STATUS NdisMWriteConfigBlock(
  [in] NDIS_HANDLE NdisMiniportHandle,
  [in] ULONG       BlockId,
  [in] PVOID       Buffer,
  [in] ULONG       Length
);

Paramètres

[in] NdisMiniportHandle

La carte réseau handle que NDIS a passée au paramètre MiniportAdapterHandle de MiniportInitializeEx.

[in] BlockId

Valeur ULONG qui spécifie l’identificateur du bloc de configuration à écrire. Cet identificateur est propriétaire du fournisseur de matériel indépendant (IHV) et est utilisé uniquement par les pilotes miniport pour le PF et VF sur la carte réseau.

[in] Buffer

Pointeur vers une mémoire tampon allouée par l’appelant qui contient les données de configuration à écrire.

[in] Length

Nombre d’octets à écrire dans le bloc de configuration.

Valeur de retour

NdisMWriteConfigBlock pouvez retourner l’une des valeurs d’état suivantes.

Retourner le code Description
NDIS_STATUS_SUCCESS
L’opération d’écriture s’est terminée avec succès.
NDIS_STATUS_FAILURE
Échec de l’opération d’écriture.

Remarques

Le pilote miniport VF appelle NdisMWriteConfigBlock pour lancer une demande d’écriture backchannel des données de configuration VF par le pilote miniport PF. Une fois averti de cette demande, le pilote PF écrit les données dans le bloc de configuration VF spécifié.

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 l’appareil. Chaque bloc de configuration VF a un format, une longueur et un ID de bloc définis par IHV.

Remarque données de chaque bloc de configuration VF est utilisée uniquement par les pilotes miniport PF et VF.
 
Pour plus d’informations sur la communication backchannel au sein de l’interface de virtualisation d’E/S racine unique (SR-IOV), consultez SR-IOV PF/VF Backchannel Communication.

Interfacing à un pilote de bus virtuel

Si un fournisseur de matériel indépendant (IHV) fournit un pilote de bus virtuel (VBD) dans le cadre de son package de pilotes SR-IOV , son pilote miniport ne doit pas appeler NdisMWriteConfigBlock. Au lieu de cela, le pilote doit interagir avec le VBD via un canal de communication privé et demander que l’appel VBD WriteVfConfigBlock. Cette fonction est exposée à partir de l’interface GUID_VPCI_INTERFACE_STANDARD prise en charge par le pilote de bus PCI virtuel (VPCI) sous-jacent.

Le VBD qui s’exécute dans un système d’exploitation invité d’une partition enfant Hyper-V peut interroger l’interface GUID_VPCI_INTERFACE_STANDARD en émettant une requête IRP_MN_QUERY_INTERFACE à son objet d’appareil physique (PDO) sur le bus VPCI. Cette demande doit être effectuée à partir d’IRQL = PASSIVE_LEVEL. Dans cette requête, le pilote doit définir le paramètre InterfaceType sur GUID_VPCI_INTERFACE_STANDARD.

Exigences

Exigence Valeur
client minimum pris en charge Aucune prise en charge, prise en charge dans NDIS 6.30 et versions ultérieures.
serveur minimum pris en charge Windows Server 2012
plateforme cible Universel
d’en-tête ndis.h (include Ndis.h)
bibliothèque Ndis.lib
IRQL <= APC_LEVEL

Voir aussi

GUID_VPCI_INTERFACE_STANDARD

WriteVfConfigBlock