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.
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 gère que NDIS a passé au paramètre MiniportAdapterHandle de MiniportInitializeEx.
[in] BlockId
Valeur ULONG qui spécifie l’identificateur du bloc de configuration dans lequel é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 la VF sur la carte réseau.
[in] Buffer
Pointeur vers une mémoire tampon allouée à l’appelant qui contient les données de configuration à écrire.
[in] Length
Nombre d’octets à écrire dans le bloc de configuration.
Valeur retournée
NdisMWriteConfigBlock peut retourner l’une des valeurs status suivantes.
Code de retour | Description |
---|---|
|
L’opération d’écriture s’est terminée avec succès. |
|
L'opération d'écriture a échoué. |
Remarques
Le pilote VF miniport appelle NdisMWriteConfigBlock pour lancer une demande d’écriture backchannel de données de configuration VF par le pilote pf miniport. 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.
Interfaçage vers 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 s’interfacer avec le VBD via un canal de communication privé et demander que le VBD appelle 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 le système d’exploitation invité d’une partition enfant Hyper-V peut interroger l’interface GUID_VPCI_INTERFACE_STANDARD en émettant une demande de IRP_MN_QUERY_INTERFACE à son objet de périphérique physique (PDO) sur le bus VPCI. Cette demande doit être effectuée à partir de IRQL = PASSIVE_LEVEL. Dans cette requête, le pilote doit définir le paramètre InterfaceType sur GUID_VPCI_INTERFACE_STANDARD.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Aucun pris en charge, pris en charge dans NDIS 6.30 et versions ultérieures. |
Serveur minimal pris en charge | Windows Server 2012 |
Plateforme cible | Universal |
En-tête | ndis.h (inclure Ndis.h) |
Bibliothèque | Ndis.lib |
IRQL | <= APC_LEVEL |
Voir aussi