WHvCreateVpciDevice

Hiermee maakt u een virtueel PCI-apparaat (VPCI) en wijst u de bijbehorende resources toe aan een partitie.

Syntaxis

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

Greep naar het partitieobject.

LogicalDeviceId

Hiermee geeft u een unieke id voor het apparaat binnen het bereik van de partitie.

VpciResource

Verwerken naar een eerder toegewezen VPCI-resource die het virtuele apparaat back-ups maakt. Haal deze ingang op van WHvAllocateVpciResource.

Flags

Hiermee geeft u optionele kenmerken van het apparaat te maken, als een combinatie van WHV_CREATE_VPCI_DEVICE_FLAGS waarden.

NotificationEventHandle

Hiermee geeft u een optionele ingang voor een gebeurtenis die wordt gesignaleerd om de beller op de hoogte te stellen van asynchrone gebeurtenissen die zijn gekoppeld aan het VPCI-apparaat. Wanneer de gebeurtenis wordt gesignaleerd, haalt u de meldingen in behandeling op met WHvGetVpciDeviceNotification.

Retourwaarde

Als de functie slaagt, is S_OKde retourwaarde .

Remarks

De WHvCreateVpciDevice functie maakt een virtueel PCI-apparaat en wijst de fysieke of virtuele resources toe die door VpciResource de partitie worden geïdentificeerd. Nadat deze aanroep is voltooid, wordt de IOMMU geprogrammeerd zodat de PCI-aanvrager-id van de fysieke of virtuele functie die het apparaat back-up maakt, wordt toegewezen aan het partitiedomein, waarbij alle DMA-bewerkingen die afkomstig zijn van die functie, opnieuw worden toegewezen aan de adresruimte van de partitie.

Wijs de resource toe met WHvAllocateVpciResource voordat u deze functie aanroept. Nadat het apparaat is gemaakt, wijst u de MMIO-bereiken toe met WHvMapVpciDeviceMmioRanges en de interrupts met WHvMapVpciDeviceInterrupt. Vernietig het apparaat met WHvDeleteVpciDevice.

Vereisten

Requirement Value
Minimaal ondersteunde Windows Windows 10 versie 20H2 (x64); Windows 11, versie 24H2, build 26100.3915 (Arm64)
Header WinHvPlatform.h
Bibliotheek WinHvPlatform.lib
DLL WinHvPlatform.dll
Architectuur x64, Arm64

Zie ook