Fonction NdisMInvalidateConfigBlock (ndis.h)
Un pilote miniport appelle la fonction NdisMInvalidateConfigBlock pour informer NDIS que les données d’un ou plusieurs blocs de configuration de fonction virtuelle (VF) ont été modifiées.
Syntaxe
void NdisMInvalidateConfigBlock(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[in] ULONGLONG BlockMask
);
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 pour laquelle l’emplacement de l’appareil est retourné.
[in] BlockMask
Valeur ULONGLONG qui spécifie un masque de bits pour les 64 premiers blocs de configuration VF. Chaque bit dans le masque de bits correspond à un bloc de configuration VF. Si le bit est défini sur un, les données associées au bloc de configuration VF correspondant ont changé.
Valeur de retour
None
Remarques
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.
- Pilote VF, qui s’exécute dans le système d’exploitation invité. Ce système d’exploitation s’exécute dans une partition enfant Hyper-V.
-
Pilote PF, qui s’exécute dans le système d’exploitation de gestion.
Ce système d’exploitation s’exécute dans la partition parente Hyper-V.
- Dans le système d’exploitation invité, NDIS émet une demande de contrôle d’E/S de IOCTL_VPCI_INVALIDATE_BLOCK demande. Une fois ce IOCTL terminé, NDIS est averti que les données de configuration VF ont changé.
-
Dans le système d’exploitation de gestion, les étapes suivantes se produisent :
- Le pilote pf miniport appelle la fonction NdisMInvalidateConfigBlock pour notifier NDIS que les données de configuration VF ont changé et ne sont plus valides.
-
NDIS signale à la pile de virtualisation, qui s’exécute dans le système d’exploitation de gestion, la modification des données de blocs de configuration VF. La pile de virtualisation met en cache les données du paramètre BlockMask .
Note Chaque fois que le pilote PF miniport appelle NdisMInvalidateConfigBlock, la pile de virtualisation oRs les données du paramètre BlockMask avec la valeur actuelle dans son cache.
- La pile de virtualisation informe le pilote PCI virtuel (VPCI), qui s’exécute dans le système d’exploitation invité, de l’invalidation des données de configuration VF. La pile de virtualisation envoie les données de paramètre BlockMask mises en cache au pilote VPCI.
-
Dans le système d’exploitation invité, les étapes suivantes se produisent :
- Le pilote VPCI enregistre les données de paramètre BlockMask mises en cache dans le membre BlockMask de la structure VPCI_INVALIDATE_BLOCK_OUTPUT associée à la requête IOCTL_VPCI_INVALIDATE_BLOCK .
-
Le pilote VPCI termine correctement la demande de IOCTL_VPCI_INVALIDATE_BLOCK . Dans ce cas, NDIS émet une demande de méthode OID de OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK au pilote VF miniport. Une requête NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO est transmise dans la demande OID. Cette structure contient les données de paramètre BlockMask mises en cache.
NDIS émet également une autre demande IOCTL_VPCI_INVALIDATE_BLOCK pour gérer les notifications successives des modifications apportées aux données de configuration VF.
- Lorsque le pilote VF gère la requête OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK , il lit les données des blocs de configuration VF spécifiés.
Pour plus d’informations sur l’interface SR-IOV, consultez Vue d’ensemble de la virtualisation d’E/S racine unique (SR-IOV).
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
NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO