NdisMReadConfigBlock, fonction (ndis.h)
Un pilote miniport pour une fonction virtuelle PCI Express (PCIe) appelle la fonction NdisMReadConfigBlock pour lire les données d’un bloc de configuration VF. Les opérations de lecture d’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 NdisMReadConfigBlock(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] ULONG BlockId,
[out] PVOID Buffer,
[in] ULONG Length
);
Paramètres
[in] NdisMiniportHandle
Handle de carte réseau que NDIS a transmis au paramètre MiniportAdapterHandle de MiniportInitializeEx.
[in] BlockId
Valeur ULONG qui spécifie l’identificateur du bloc de configuration VF à lire. Cet identificateur est la propriété du fournisseur de matériel indépendant (IHV) et est utilisé uniquement par les pilotes pf et VF miniport.
[out] Buffer
Pointeur vers une mémoire tampon allouée à l’appelant qui contiendra les données de configuration demandées.
[in] Length
Nombre d’octets à lire à partir du bloc de configuration VF.
Valeur retournée
NdisMReadConfigBlock peut retourner l’une des valeurs de status suivantes :
Code de retour | Description |
---|---|
|
L’opération de requête s’est terminée avec succès. |
|
L’opération de requête a échoué. |
Remarques
Le pilote miniport VF appelle NdisMReadConfigBlock pour lancer une demande de lecture backchannel des données de configuration VF par le pilote pf miniport. Une fois averti de cette demande, le pilote PF retourne les données du 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.
Pour plus d’informations sur l’interface SR-IOV, consultez Vue d’ensemble de la virtualisation d’E/S à racine unique (SR-IOV).
Interface avec 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 NdisMReadConfigBlock. Au lieu de cela, le pilote doit s’interfacer avec le VBD via un canal de communication privé et demander au VBD d’appeler ReadVfConfigBlock. 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 requête 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 | Pris en charge dans NDIS 6.30 et versions ultérieures. |
Plateforme cible | Universal |
En-tête | ndis.h (inclure Ndis.h) |
Bibliothèque | Ndis.lib |
IRQL | <= APC_LEVEL |
Voir aussi