NdisMSetVirtualFunctionBusData, fonction (ndis.h)
Un pilote miniport appelle la fonction NdisMSetVirtualFunctionBusData pour écrire des données dans l’espace de configuration PCI Express (PCIe) d’une fonction virtuelle (VF) sur la carte réseau.
Syntaxe
ULONG NdisMSetVirtualFunctionBusData(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
Paramètres
[in] NdisMiniportHandle
La carte réseau handle que NDIS a passée au paramètre MiniportAdapterHandle de MiniportInitializeEx.
[in] VFId
Identificateur de la machine virtuelle dans laquelle les données sont écrites dans son espace de configuration PCI.
[in] Buffer
Pointeur vers une mémoire tampon qui contient les données à écrire dans l’espace de configuration PCI.
[in] Offset
Décalage, en unités d’octets, dans l’espace de configuration PCI dans lequel les données sont écrites.
[in] Length
Longueur, en unités d’octets, des données à écrire.
Valeur de retour
NdisMSetVirtualFunctionBusData retourne le nombre d’octets écrits dans l’espace de configuration PCI. Si l’opération d’écriture échoue, NdisMSetVirtualFunctionBusData retourne zéro.
Remarques
Le pilote pf miniport appelle généralement NdisMSetVirtualFunctionBusData lorsqu’il gère une requête de méthode OID de OID_SRIOV_WRITE_VF_CONFIG_SPACE.
Toutefois, le pilote peut appeler cette fonction à tout moment après l’activation de la virtualisation sur la carte réseau via un appel à NdisMEnableVirtualization.
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.
Pour plus d’informations sur l’interface SR-IOV, consultez Vue d’ensemble de la virtualisation d’E/S racine unique (SR-IOV).
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 NdisMSetVirtualFunctionBusData. Au lieu de cela, le pilote doit interagir avec le VBD via un canal de communication privé et demander que l’appel VBD SetVirtualFunctionData. 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 d’appareil physique (PDO) sur le bus PCI. 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_PCI_VIRTUALIZATION_INTERFACE.
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 | <= DISPATCH_LEVEL |
Voir aussi
GUID_PCI_VIRTUALIZATION_INTERFACE