ENABLE_VIRTUALIZATION Rückruffunktion (wdm.h)

Die EnableVirtualization-Routine aktiviert oder deaktiviert die Virtualisierung für ein PCI Express-Gerät (PCIe), das die SR-IOV-Schnittstelle (Single Root E/O Virtualization) unterstützt.

Syntax

ENABLE_VIRTUALIZATION EnableVirtualization;

NTSTATUS EnableVirtualization(
  [in, out] PVOID Context,
  [in]      UINT16 NumVFs,
  [in]      BOOLEAN EnableVfMigration,
  [in]      BOOLEAN EnableMigrationInterrupt,
  [in]      BOOLEAN EnableVirtualization
)
{...}

Parameter

[in, out] Context

Ein Zeiger auf schnittstellenspezifische Kontextinformationen. Der Aufrufer übergibt den Wert, der als Kontextelement der PCI_VIRTUALIZATION_INTERFACE-Struktur für die Schnittstelle übergeben wird.

[in] NumVFs

Die Anzahl der virtuellen PCIe-Funktionen (VFs), die für das Gerät aktiviert werden sollen. Die EnableVirtualization-Routine legt den NumVFs-Member der PCIe SR-IOV Extended Capability-Struktur auf den Wert des NumVFs-Parameters fest.

Wenn der Parameter EnableVirtualizationFALSE ist, muss der NumVFs-Parameter auf 0 festgelegt werden.

[in] EnableVfMigration

Ein BOOLEAN-Wert, der angibt, ob die Basisfunktion der Multi-Root-E/A-Virtualisierung (MR-IOV) zur Laufzeit die physische PCIe-Funktion (PCIe Physical Function, PF) des Geräts dynamisch als VF bereitstellen kann.

Dieser Parameter gilt nur für Geräte, die sowohl die SR-IOV- als auch die MR-IOV-Schnittstellen unterstützen. Der Treiber muss diesen Parameter auf FALSE festlegen, wenn das Gerät nur die SR-IOV-Schnittstelle und nicht die MR-IOV-Schnittstelle unterstützt.

[in] EnableMigrationInterrupt

Ein BOOLEAN-Wert, der angibt, ob der der PF zugeordnete Interrupt während der VF-Migration maskiert oder entmaskiert werden soll.

Wenn die Parameter EnableVfMigrationFALSE sind, muss der Treiber auch diesen Parameter auf FALSE festlegen.

[in] EnableVirtualization

Ein BOOLEAN-Wert, der angibt, ob die Virtualisierung auf dem PCIe-Konfigurationsbereich des Geräts aktiviert ist. Wenn der EnableVirtualization-ParameterTRUE ist, legt die EnableVirtualization-Routine das VF Enable-Bit des Felds PCIe SR-IOV Control fest. Die EnableVirtualization-Routine löscht dieses Bit, wenn der EnableVirtualization-ParameterFALSE ist.

Rückgabewert

Die EnableVirtualization-Routine gibt einen der folgenden NTSTATUS-Werte zurück:

Rückgabecode Beschreibung
STATUS_SUCCESS Der Vorgang wurde erfolgreich abgeschlossen.
STATUS_INVALID_PARAMETER Der NumVFs-Parameter ist entweder 0 oder größer als der Wert des TotalVFs-Members der SR-IOV Extended Capability-Struktur für das Gerät.
STATUS_INVALID_DEVICE_STATE Die Virtualisierung ist bereits auf dem Gerät aktiviert, und der EnableVirtualization-Parameter ist TRUE, oder die Virtualisierung ist auf dem Gerät bereits deaktiviert, und der EnableVirtualization-Parameter ist FALSE.

Hinweise

Treiber rufen die EnableVirtualization-Routine auf, um die SR-IOV-Felder für erweiterte Funktionen im PCIe-Konfigurationsraum zu konfigurieren. Dieser Aufruf aktiviert oder deaktiviert die Virtualisierung im Konfigurationsraum und gibt die Anzahl von VFs an, die vom Gerät für den PCIe-Fabric verfügbar gemacht werden sollen.

Die EnableVirtualization-Routine wird von der GUID_PCI_VIRTUALIZATION_INTERFACE-Schnittstelle bereitgestellt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in Windows Server 2012 und höheren Versionen von Windows.
Zielplattform Desktop
Kopfzeile wdm.h (einschließen von Wdm.h)
IRQL IRQL <= DISPATCH_LEVEL

Weitere Informationen

PCI_VIRTUALIZATION_INTERFACE