Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cria um dispositivo VPCI (PCI virtual) e atribui seus recursos a uma partição.
Sintaxe
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
Manipule para o objeto de partição.
LogicalDeviceId
Especifica um identificador exclusivo para o dispositivo dentro do escopo da partição.
VpciResource
Manipule para um recurso VPCI alocado anteriormente que faz backup do dispositivo virtual. Obtenha esse identificador de WHvAllocateVpciResource.
Flags
Especifica as características opcionais do dispositivo a ser criado, como uma combinação de WHV_CREATE_VPCI_DEVICE_FLAGS valores.
NotificationEventHandle
Especifica um identificador opcional para um evento que é sinalizado para notificar o chamador de eventos assíncronos associados ao dispositivo VPCI. Quando o evento for sinalizado, recupere as notificações pendentes com WHvGetVpciDeviceNotification.
Valor de retorno
Se a função for bem-sucedida, o valor retornado será S_OK.
Remarks
A WHvCreateVpciDevice função cria um dispositivo PCI virtual e atribui os recursos físicos ou virtuais identificados pela VpciResource partição. Após a conclusão dessa chamada, a IOMMU é programada para que a ID do solicitante PCI da função física ou virtual que faz backup do dispositivo seja atribuída ao domínio de partição, remapeando todas as operações de DMA originadas dessa função para o espaço de endereço da partição.
Aloque o recurso antes WHvAllocateVpciResource de chamar essa função. Depois que o dispositivo é criado, mapeie seus intervalos MMIO com WHvMapVpciDeviceMmioRanges e suas interrupções com WHvMapVpciDeviceInterrupt. Destrua o dispositivo com WHvDeleteVpciDevice.
Requisitos
| Requirement | Value |
|---|---|
| Suporte mínimo Windows | Windows 10, versão 20H2 (x64); Windows 11, versão 24H2, build 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Biblioteca | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Arquitetura | x64, Arm64 |
Consulte também
WHvAllocateVpciResourceWHvDeleteVpciDeviceWHvGetVpciDeviceNotificationWHvMapVpciDeviceMmioRanges- Tipos de dados de PCI virtual
- definições de API da Plataforma do Hipervisor Windows