WHvWriteVpciDeviceRegister

Egy virtuális PCI-eszköz (VPCI) konfigurációs területét vagy MMIO-regiszterét írja.

Szemantika

typedef enum WHV_VPCI_DEVICE_REGISTER_SPACE
{
    WHvVpciConfigSpace = -1,
    WHvVpciBar0 = 0,
    WHvVpciBar1 = 1,
    WHvVpciBar2 = 2,
    WHvVpciBar3 = 3,
    WHvVpciBar4 = 4,
    WHvVpciBar5 = 5
} WHV_VPCI_DEVICE_REGISTER_SPACE;

typedef struct WHV_VPCI_DEVICE_REGISTER
{
    WHV_VPCI_DEVICE_REGISTER_SPACE Location;
    UINT32 SizeInBytes;
    UINT64 OffsetInBytes;
} WHV_VPCI_DEVICE_REGISTER;

HRESULT
WINAPI
WHvWriteVpciDeviceRegister(
    _In_ WHV_PARTITION_HANDLE Partition,
    _In_ UINT64 LogicalDeviceId,
    _In_ const WHV_VPCI_DEVICE_REGISTER* Register,
    _In_reads_bytes_(Register->SizeInBytes) const VOID* Data
    );

Parameters

Partition

Kezelje a VPCI-eszközt tartalmazó partíciót.

LogicalDeviceId

Megadja a VPCI-eszköz logikai eszközazonosítóját.

Register

Megadja az írandó regisztert, amely a regisztrációs területet, az eltolást és a méretet WHV_VPCI_DEVICE_REGISTER azonosítja.

Data

Megadja a regisztrációba írni kívánt adatokat. A puffernek legalább Register->SizeInBytes bájtnak kell lennie.

Visszaadott érték

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

Remarks

A WHvWriteVpciDeviceRegister függvény a VPCI-eszközhöz társított PCIe fizikai vagy virtuális pcIe fizikai vagy virtuális függvény konfigurációs területére vagy MMIO-területére ír egy regisztert. A konfigurációs terület esetében a mögöttes virtuális PCI-verem szűrheti bizonyos regiszterekhez való hozzáférést, hogy biztonságos virtuálisgép-hozzárendelést biztosítsunk a PCIe-függvényekhez. Az MMIO-tér esetében ez a függvény olyan regisztereket írhat, amelyeket nem képeztek le közvetlenül a hívó címterébe, mert a mögöttes virtuális PCI-veremnek ki kell kényszerítenie a kockázatcsökkentéseket ezekre a regiszterekre.

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