Partager via


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