Freigeben über


SRIOV_QUERY_PROBED_BARS_2 Rückruffunktion (pcivirt.h)

Fragt die daten ab, die aus den angegebenen PCI Express SR-IOV Virtual Function (VF)-Basisadressenregistern (BARs) gelesen werden, wenn der Wert -1 zuerst in sie geschrieben wurden.

Syntax

SRIOV_QUERY_PROBED_BARS_2 SriovQueryProbedBars2;

NTSTATUS SriovQueryProbedBars2(
  [in]  PVOID Context,
  [in]  USHORT VfIndex,
  [out] PULONG BaseRegisterValues
)
{...}

Parameter

[in] Context

Ein Zeiger auf einen vom Treiber definierten Kontext.

[in] VfIndex

Ein nullbasierter Index des VF, der abgefragt wird.

[out] BaseRegisterValues

Ein Zeiger auf ein Array von Variablen, die an die Anzahl der BARs in einem PCI-Gerät gebunden ist.

Rückgabewert

Gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Geben Sie andernfalls einen geeigneten NTSTATUS- Fehlercode zurück.

Bemerkungen

Diese Rückruffunktion wird vom PF-Treiber (Physical Function) implementiert. Es wird aufgerufen, wenn das System aus den Basisadressenregistern der angegebenen virtuellen Funktion (VF) lesen möchte.

Der PF-Treiber registriert seine Implementierung, indem das QueryProbedBars_2 Mitglied der SRIOV_DEVICE_INTERFACE_STANDARD_2festgelegt, eine WDF_QUERY_INTERFACE_CONFIG Struktur konfiguriert und WdfDeviceAddQueryInterfaceaufgerufen wird.

Dieser Rückruf wird vom Virtualisierungsstapel (nicht privilegierte) aufgerufen, wenn er die Basisadressenregisterwerte des VF ermitteln möchte, nachdem die Register mit dem Wert (-1) geschrieben wurden. Dieser Prozess ist bei der Einrichtung eines PCI-Geräts üblich, und das Ergebnis ermöglicht dem PCI-Treiber zu erkennen, wie viel Adressraum vom Gerät decodiert würde, nachdem es aktiviert wurde. Wenn eine nicht privilegierte VM in die BARs des VF schreibt, kann die privilegierte VM nicht mehr funktionieren. Daher erfordert diese Routine die Notwendigkeit, schriftlich an die BARs zu schreiben.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10
mindestens unterstützte Server- Windows Server 2016
Zielplattform- Fenster
Header- pcivirt.h
IRQL- PASSIVE_LEVEL