функция обратного вызова ENABLE_VIRTUALIZATION (wdm.h)
Подпрограмма EnableVirtualization включает или отключает виртуализацию для устройства PCI Express (PCIe), поддерживающего интерфейс sr-IOV.
Синтаксис
ENABLE_VIRTUALIZATION EnableVirtualization;
NTSTATUS EnableVirtualization(
[in, out] PVOID Context,
[in] UINT16 NumVFs,
[in] BOOLEAN EnableVfMigration,
[in] BOOLEAN EnableMigrationInterrupt,
[in] BOOLEAN EnableVirtualization
)
{...}
Параметры
[in, out] Context
Указатель на сведения о контексте для конкретного интерфейса. Вызывающий объект передает значение, передаваемое в качестве элемента Contextструктуры PCI_VIRTUALIZATION_INTERFACE для интерфейса.
[in] NumVFs
Количество виртуальных функций PCIe ( VFs), которые должны быть включены для устройства. Подпрограмма EnableVirtualization задает для элемента NumVFs структуры расширенных возможностей PCIe SR-IOV значение параметра NumVFs .
Если параметр EnableVirtualization имеет значение FALSE, для параметра NumVFs необходимо задать нулевое значение.
[in] EnableVfMigration
Значение BOOLEAN, указывающее, может ли базовая функция многокорневой виртуализации ввода-вывода (MR-IOV) динамически повторно подготавливать физическую функцию PCIe (PF) устройства в качестве VF во время выполнения.
Этот параметр применим только к устройствам, поддерживающим интерфейсы SR-IOV и MR-IOV. Драйвер должен задать для этого параметра значение FALSE, если устройство поддерживает только интерфейс SR-IOV, но не интерфейс MR-IOV.
[in] EnableMigrationInterrupt
Значение BOOLEAN, указывающее, следует ли маскировать прерывание, связанное с PF, во время миграции VF.
Если параметр EnableVfMigration имеет значение FALSE, драйвер также должен задать для этого параметра значение FALSE.
[in] EnableVirtualization
Значение BOOLEAN, указывающее, включена ли виртуализация в пространстве конфигурации PCIe устройства. Если параметр EnableVirtualization имеет значение TRUE, подпрограмма EnableVirtualization задает бит VF Enable поля PCIe SR-IOV Control. Подпрограмма EnableVirtualization очищает этот бит, если параметр EnableVirtualization имеет значение FALSE.
Возвращаемое значение
Подпрограмма EnableVirtualization возвращает одно из следующих значений NTSTATUS:
Код возврата | Описание |
---|---|
STATUS_SUCCESS | Операция выполнена успешно. |
STATUS_INVALID_PARAMETER | Параметр NumVFs равен нулю или больше значения элемента TotalVFs структуры расширенных возможностей SR-IOV для устройства. |
STATUS_INVALID_DEVICE_STATE | Виртуализация уже включена на устройстве, и параметр EnableVirtualization имеет значение TRUE, или виртуализация уже отключена на устройстве, а параметр EnableVirtualization имеет значение FALSE. |
Комментарии
Драйверы вызывают подпрограмму EnableVirtualization для настройки полей расширенных возможностей SR-IOV в пространстве конфигурации PCIe. Этот вызов включает или отключает виртуализацию в пространстве конфигурации и указывает количество виртуальных машин, которые устройство должно предоставить структуре PCIe.
Подпрограмма EnableVirtualization предоставляется интерфейсом GUID_PCI_VIRTUALIZATION_INTERFACE .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в Windows Server 2012 и более поздних версиях Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | wdm.h (включая Wdm.h) |
IRQL | IRQL <= DISPATCH_LEVEL |