Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Crea un dispositivo PCI virtual (VPCI) y asigna sus recursos a una partición.
Syntax
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
Identificador del objeto de partición.
LogicalDeviceId
Especifica un identificador único para el dispositivo dentro del ámbito de la partición.
VpciResource
Controle a un recurso VPCI asignado previamente que respalda el dispositivo virtual. Obtenga este identificador de WHvAllocateVpciResource.
Flags
Especifica las características opcionales del dispositivo que se van a crear, como una combinación de WHV_CREATE_VPCI_DEVICE_FLAGS valores.
NotificationEventHandle
Especifica un identificador opcional para un evento que se indica para notificar al autor de la llamada de eventos asincrónicos asociados al dispositivo VPCI. Cuando se señale el evento, recupere las notificaciones pendientes con WHvGetVpciDeviceNotification.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es S_OK.
Remarks
La WHvCreateVpciDevice función crea un dispositivo PCI virtual y asigna los recursos físicos o virtuales identificados por VpciResource a la partición. Una vez completada esta llamada, la IOMMU se programa para que el identificador del solicitante PCI de la función física o virtual que respalda el dispositivo se asigne al dominio de partición, reasignando las operaciones DMA que se originan desde esa función al espacio de direcciones de la partición.
Asigne el recurso con WHvAllocateVpciResource antes de llamar a esta función. Una vez creado el dispositivo, asigne sus intervalos MMIO con WHvMapVpciDeviceMmioRanges y sus interrupciones con WHvMapVpciDeviceInterrupt. Destruye el dispositivo con WHvDeleteVpciDevice.
Requisitos
| Requirement | Value |
|---|---|
| Windows mínima admitidas | Windows 10, versión 20H2 (x64); Windows 11, versión 24H2, compilación 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Biblioteca | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64, Arm64 |