WHvReadVpciDeviceRegister

Bir sanal PCI (VPCI) cihazının yapılandırma alanını veya MMIO kaydını okur.

Sözdizimi

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
WHvReadVpciDeviceRegister(
    _In_ WHV_PARTITION_HANDLE Partition,
    _In_ UINT64 LogicalDeviceId,
    _In_ const WHV_VPCI_DEVICE_REGISTER* Register,
    _Out_writes_bytes_(Register->SizeInBytes) VOID* Data
    );

Parameters

Partition

VPCI cihazının sahibi olan bölümün işleyicisi.

LogicalDeviceId

VPCI cihazının mantıksal cihaz tanımlayıcısını belirtir.

Register

Yazmaç alanını, uzaklığını ve boyutunu tanımlayan bir WHV_VPCI_DEVICE_REGISTER yapı olarak okunacak yazmaç değerini belirtir.

Data

Yazmaçtan okunan verileri alır. Arabellek en az Register->SizeInBytes bayt olmalıdır.

Dönüş Değeri

İşlev başarılı olursa, dönüş değeri olur S_OK.

Açıklamalar

İşlev, WHvReadVpciDeviceRegister bir VPCI cihazıyla ilişkili PCIe fiziksel veya sanal işlevinin yapılandırma alanından veya MMIO alanından bir yazmaç okur. Yapılandırma alanı için bazı yazmaçlara erişim, PCIe işlevlerinin güvenli VM atamasını garanti etmek için temel alınan sanal PCI yığınına göre filtrelenebilir. MMIO alanı için bu işlev, temel alınan sanal PCI yığınının bu yazmaçlar için azaltmaları zorlaması gerektiğinden doğrudan çağıranın adres alanına eşlenmemiş yazmaçları okuyabilir.

Requirements

Requirement Değer
Desteklenen en düşük Windows Windows 10, sürüm 20H2 (x64); Windows 11, sürüm 24H2, derleme 26100.3915 (Arm64)
Header WinHvPlatform.h
Kütüphane WinHvPlatform.lib
DLL WinHvPlatform.dll
Architecture x64, Arm64

Ayrıca bakınız