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 |