Fonction NdisMGetVirtualFunctionBusData (ndis.h)
Un pilote miniport appelle la fonction NdisMGetVirtualFunctionBusData pour lire les données de l’espace de configuration PCI Express (PCIe) d’une fonction virtuelle (VF) spécifiée sur la carte réseau.
Syntaxe
ULONG NdisMGetVirtualFunctionBusData(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[out] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
Paramètres
[in] NdisMiniportHandle
La carte réseau gère que NDIS a passé au paramètre MiniportAdapterHandle de MiniportInitializeEx.
[in] VFId
Identificateur de la VF à partir de laquelle les données de l’espace de configuration PCI sont retournées.
[out] Buffer
Pointeur vers une mémoire tampon qui reçoit les données lues à partir de l’espace de configuration PCI de la VF.
[in] Offset
Décalage, en unités d’octets, dans l’espace de configuration PCI de la VF à partir duquel les données sont lues.
[in] Length
Longueur, en unités d’octets, des données à lire.
Valeur retournée
NdisMGetVirtualFunctionBusData retourne le nombre d’octets lus à partir de l’espace de configuration PCI. Si l’opération de lecture échoue, NdisMGetVirtualFunctionBusData retourne zéro.
Remarques
Le pilote pf miniport appelle généralement NdisMGetVirtualFunctionBusData lorsqu’il gère une demande de méthode OID de OID_SRIOV_READ_VF_CONFIG_SPACE.
Toutefois, le pilote peut appeler cette fonction à tout moment après que la virtualisation a été activée sur la carte réseau via un appel à NdisMEnableVirtualization.
Pour plus d’informations sur l’interrogation de l’espace de configuration PCI de la VF, consultez Interrogation de l’espace de configuration PCI pour une fonction virtuelle.
Pour plus d’informations sur l’interface SR-IOV, consultez Vue d’ensemble de la virtualisation d’E/S racine unique (SR-IOV).
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 NdisMGetVirtualFunctionBusData. Au lieu de cela, le pilote doit s’interfacer avec le VBD via un canal de communication privé et demander au VBD d’appeler GetVirtualFunctionData. Cette fonction est exposée à partir de l’interface GUID_PCI_VIRTUALIZATION_INTERFACE prise en charge par le pilote de bus PCI sous-jacent.Le VBD qui s’exécute dans le système d’exploitation de gestion de la partition parente Hyper-V peut interroger l’interface GUID_PCI_VIRTUALIZATION_INTERFACE en émettant une requête IRP_MN_QUERY_INTERFACE à son objet de périphérique physique (PDO) sur le bus PCI. 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_PCI_VIRTUALIZATION_INTERFACE.
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 | <= DISPATCH_LEVEL |
Voir aussi