WHvWriteVpciDeviceRegister

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

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
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

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 yazacak yazmaç belirtir.

Data

Yazmaçta yazacak verileri belirtir. 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, WHvWriteVpciDeviceRegister bir VPCI cihazıyla ilişkili PCIe fiziksel veya sanal işlevinin yapılandırma alanına veya MMIO alanına bir yazmaç yazar. 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 risk azaltmaları zorunlu kılabilmesi gerektiğinden, doğrudan çağıranın adres alanına eşlenmemiş yazmaçlar yazabilir.

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