共用方式為


ENABLE_VIRTUALIZATION回呼函式 (wdm.h)

EnableVirtualization 例程會啟用或停用支援單一根 I/O 虛擬化 (SR-IOV) 介面之 PCI Express (PCIe) 裝置的虛擬化。

語法

ENABLE_VIRTUALIZATION EnableVirtualization;

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

參數

[in, out] Context

介面特定內容資訊的指標。 呼叫端會傳遞作為介面之PCI_VIRTUALIZATION_INTERFACE結構之Context成員傳遞的值。

[in] NumVFs

要為裝置啟用的PCIe虛擬函式數目 (VF) 。 EnableVirtualization 例程會將PCIe SR-IOV擴充功能結構的 NumVFs 成員設定為 NumVFs 參數的值。

如果 EnableVirtualization 參數為 FALSE則 NumVFs 參數必須設定為零。

[in] EnableVfMigration

BOOLEAN 值,指出多根 I/O 虛擬化 (MR-IOV) 基底函式 (BF) 是否可以在運行時間動態重新佈建 PCIe 實體函式 (PF) 。

此參數僅適用於同時支援 SR-IOV 和 MR-IOV 介面的裝置。 如果裝置只支援 SR-IOV 介面,而不是 MR-IOV 介面,則驅動程式必須將此參數設定為 FALSE

[in] EnableMigrationInterrupt

BOOLEAN 值,指出與 PF 相關聯的中斷是否應該在 VF 移轉期間遮罩或取消遮罩。

如果 EnableVfMigration 參數為 FALSE,驅動程式也必須將此參數設定為 FALSE

[in] EnableVirtualization

BOOLEAN 值,指出是否在裝置的PCIe設定空間上啟用虛擬化。 如果 EnableVirtualization 參數為 TRUE,EnableVirtualization 例程會設定 PCIe SR-IOV 控件字段的 VF Enable 位。 如果 EnableVirtualization 參數為 FALSE,EnableVirtualization 例程會清除這個位。

傳回值

EnableVirtualization 例程會傳回下列其中一個 NTSTATUS 值:

傳回碼 Description
STATUS_SUCCESS 作業已成功完成。
STATUS_INVALID_PARAMETER NumVFs 參數為零或大於裝置 SR-IOV 擴充功能結構的 TotalVFs 成員值。
STATUS_INVALID_DEVICE_STATE 虛擬化已在裝置上啟用, 且 EnableVirtualization 參數為 TRUE,或已在裝置上停用虛擬化, 且 EnableVirtualization 參數為 FALSE

備註

驅動程式會呼叫 EnableVirtualization 例程,在 PCIe 設定空間中設定 SR-IOV 擴充功能欄位。 此呼叫會啟用或停用組態空間中的虛擬化,並指定裝置應該向PCIe網狀架構公開的 VF 數目。

EnableVirtualization 例程是由 GUID_PCI_VIRTUALIZATION_INTERFACE 介面所提供。

規格需求

需求
最低支援的用戶端 Windows Server 2012 和更新版本的 Windows 支援。
目標平台 桌面
標頭 wdm.h (包含 Wdm.h)
IRQL IRQL <= DISPATCH_LEVEL

另請參閱

PCI_VIRTUALIZATION_INTERFACE