SRIOV_QUERY_PROBED_BARS_2 fonction de rappel (pcivirt.h)
Interroge les données lues à partir des registres d’adresses de base (BR) PCI Express SR-IOV (VF) spécifiés si la valeur -1 leur a été écrite en premier.
Syntaxe
SRIOV_QUERY_PROBED_BARS_2 SriovQueryProbedBars2;
NTSTATUS SriovQueryProbedBars2(
[in] PVOID Context,
[in] USHORT VfIndex,
[out] PULONG BaseRegisterValues
)
{...}
Paramètres
[in] Context
Pointeur vers un contexte défini par le pilote.
[in] VfIndex
Index de base zéro de la VF interrogée.
[out] BaseRegisterValues
Pointeur vers un tableau de variables limité par le nombre de demandes d’accès dans un appareil PCI.
Valeur retournée
Retournez STATUS_SUCCESS si l’opération réussit. Sinon, retournez un code d’erreur NTSTATUS approprié.
Remarques
Cette fonction de rappel est implémentée par le pilote de fonction physique (PF). Il est appelé lorsque le système souhaite lire à partir des registres d’adresses de base de la fonction virtuelle (VF) spécifiée.
Le pilote PF inscrit son implémentation en définissant le membre QueryProbedBars_2 du SRIOV_DEVICE_INTERFACE_STANDARD_2, en configurant une structure de WDF_QUERY_INTERFACE_CONFIG et en appelant WdfDeviceAddQueryInterface.
Ce rappel est appelé par la pile de virtualisation (non privilégiée) lorsqu’elle souhaite connaître les valeurs de registre d’adresses de base de la VF une fois que les registres ont été écrits avec la valeur (-1). Ce processus est classique lors de la configuration d’un périphérique PCI, et le résultat permet au pilote PCI de connaître la quantité d’espace d’adressage qui serait décodé par l’appareil une fois qu’il est activé. Lorsqu’une machine virtuelle non privilégiée écrit dans les fichiers BAR de la VF, la machine virtuelle privilégiée peut cesser de fonctionner. Par conséquent, cette routine nécessite la nécessité d’écrire dans les bars.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 |
Serveur minimal pris en charge | Windows Server 2016 |
Plateforme cible | Windows |
En-tête | pcivirt.h |
IRQL | PASSIVE_LEVEL |