WHvCreateVpciDevice

Létrehoz egy virtuális PCI- (VPCI-) eszközt, és hozzárendeli az erőforrásait egy partícióhoz.

Szemantika

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

A partícióobjektum kezelése.

LogicalDeviceId

Az eszköz egyedi azonosítóját adja meg a partíció hatókörén belül.

VpciResource

Kezelje a virtuális eszközt háttérként szolgáló, korábban lefoglalt VPCI-erőforrást. Szerezze be ezt a fogópontot a WHvAllocateVpciResource

Flags

A létrehozandó eszköz választható jellemzőit adja meg értékek kombinációjaként WHV_CREATE_VPCI_DEVICE_FLAGS .

NotificationEventHandle

Opcionális leírót ad meg egy eseményhez, amely a VPCI-eszközhöz társított aszinkron eseményekről értesíti a hívót. Az esemény jelzése után kérje le a függőben lévő értesítéseket a következővel WHvGetVpciDeviceNotification: .

Visszaadott érték

Ha a függvény sikeres, a visszatérési érték az S_OK.

Remarks

A WHvCreateVpciDevice függvény létrehoz egy virtuális PCI-eszközt, és hozzárendeli a partícióhoz VpciResource azonosított fizikai vagy virtuális erőforrásokat. A hívás befejezése után a rendszer úgy programozza az IOMMU-t, hogy az eszközt háttérbe helyező fizikai vagy virtuális függvény PCI-kérelmezőazonosítója hozzá legyen rendelve a partíciótartományhoz, és a függvényből származó DMA-műveleteket a partíció címterére végezze el.

A függvény meghívása előtt foglalja le az erőforrást WHvAllocateVpciResource . Az eszköz létrehozása után megfeleltetje az MMIO-tartományait WHvMapVpciDeviceMmioRanges és megszakításait a következővel WHvMapVpciDeviceInterrupt: . Az eszköz megsemmisítése a következővel WHvDeleteVpciDevice: .

Requirements

Requirement Érték
Minimálisan támogatott Windows Windows 10, 20H2-es verzió (x64); Windows 11, 24H2-es verzió, 26100.3915-ös build (Arm64)
Header WinHvPlatform.h
Könyvtár WinHvPlatform.lib
DLL WinHvPlatform.dll
Architecture x64, Arm64

Lásd még