Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создает виртуальное устройство PCI (VPCI) и назначает ресурсы секции.
Синтаксис
typedef enum WHV_CREATE_VPCI_DEVICE_FLAGS
{
WHvCreateVpciDeviceFlagNone = 0x00000000,
WHvCreateVpciDeviceFlagPhysicallyBacked = 0x00000001,
WHvCreateVpciDeviceFlagUseLogicalInterrupts = 0x00000002
} WHV_CREATE_VPCI_DEVICE_FLAGS;
// Enables bitwise operators on the WHV_CREATE_VPCI_DEVICE_FLAGS enumeration.
DEFINE_ENUM_FLAG_OPERATORS(WHV_CREATE_VPCI_DEVICE_FLAGS);
HRESULT
WINAPI
WHvCreateVpciDevice(
_In_ WHV_PARTITION_HANDLE Partition,
_In_ UINT64 LogicalDeviceId,
_In_ HANDLE VpciResource,
_In_ WHV_CREATE_VPCI_DEVICE_FLAGS Flags,
_In_opt_ HANDLE NotificationEventHandle
);
Parameters
Partition
Дескриптор объекта секции.
LogicalDeviceId
Указывает уникальный идентификатор устройства в области секции.
VpciResource
Обработайте ранее выделенный ресурс VPCI, который поддерживает виртуальное устройство. Получите этот дескриптор из WHvAllocateVpciResource.
Flags
Указывает необязательные характеристики создаваемого устройства в виде сочетания значений WHV_CREATE_VPCI_DEVICE_FLAGS .
NotificationEventHandle
Указывает необязательный дескриптор события, сигналивного для уведомления вызывающего объекта об асинхронных событиях, связанных с устройством VPCI. Когда событие сигнализирует, получите ожидающие уведомления с WHvGetVpciDeviceNotificationпомощью .
Возвращаемое значение
Если функция выполнена успешно, возвращается S_OKзначение.
Remarks
Функция WHvCreateVpciDevice создает виртуальное устройство PCI и назначает физические или виртуальные ресурсы, определенные VpciResource секцией. После завершения этого вызова IOMMU запрограммирован таким образом, чтобы идентификатор инициатора PCI физической или виртуальной функции, резервной копии устройства, назначается домену секции, переопределяя все операции DMA, исходящие из этой функции в адресное пространство секции.
Выделите ресурс WHvAllocateVpciResource перед вызовом этой функции. После создания устройства сопоставляйте диапазоны MMIO с WHvMapVpciDeviceMmioRanges его прерываниями WHvMapVpciDeviceInterrupt. Уничтожить устройство с WHvDeleteVpciDeviceпомощью .
Требования
| Requirement | Ценность |
|---|---|
| Минимальный поддерживаемый Windows | Windows 10 версии 20H2 (x64); Windows 11 версии 24H2, сборка 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Библиотека | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64, Arm64 |