WHvWriteVpciDeviceRegister

Zapisuje miejsce konfiguracji lub rejestr MMIO wirtualnego urządzenia PCI (VPCI).

Składnia

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

Dojście do partycji, która jest właścicielem urządzenia VPCI.

LogicalDeviceId

Określa identyfikator urządzenia logicznego urządzenia VPCI.

Register

Określa rejestr do zapisu, jako strukturę identyfikującą WHV_VPCI_DEVICE_REGISTER przestrzeń rejestru, przesunięcie i rozmiar.

Data

Określa dane do zapisu w rejestrze. Bufor musi być co najmniej Register->SizeInBytes bajtami.

Wartość zwracana

Jeśli funkcja powiedzie się, zwracana wartość to S_OK.

Remarks

Funkcja WHvWriteVpciDeviceRegister zapisuje rejestr w przestrzeni konfiguracji lub przestrzeń MMIO fizycznej lub wirtualnej funkcji PCIe skojarzonej z urządzeniem VPCI. W przypadku przestrzeni konfiguracji dostęp do niektórych rejestrów może być filtrowany przez bazowy wirtualny stos PCI w celu zagwarantowania bezpiecznego przypisania maszyn wirtualnych funkcji PCIe. W przypadku przestrzeni MMIO ta funkcja może zapisywać rejestry, które nie zostały zamapowane bezpośrednio do przestrzeni adresowej wywołującego, ponieważ bazowy wirtualny stos PCI musi wymuszać środki zaradcze dla tych rejestrów.

Requirements

Requirement Value
Minimalna obsługiwana Windows Windows 10, wersja 20H2 (x64); Windows 11, wersja 24H2, kompilacja 26100.3915 (Arm64)
Header WinHvPlatform.h
Biblioteka WinHvPlatform.lib
DLL WinHvPlatform.dll
Architecture x64, Arm64

Zobacz także