WHvWriteVpciDeviceRegister

寫入虛擬 PCI(VPCI) 裝置的配置空間或 MMIO 暫存器。

語法

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 裝置的分割區。

LogicalDeviceId

指定 VPCI 裝置的邏輯裝置識別碼。

Register

指定要寫入的暫存器,作為 WHV_VPCI_DEVICE_REGISTER 一個識別暫存器空間、偏移量與大小的結構。

Data

指定要寫入暫存器的資料。 緩衝區必須至少 Register->SizeInBytes 是位元組。

傳回值

如果函式成功,則傳回值為 S_OK

Remarks

WHvWriteVpciDeviceRegister 函式會在與 VPCI 裝置相關的 PCIe 物理或虛擬功能的配置空間或 MMIO 空間中寫入暫存器。 在配置空間方面,底層虛擬 PCI 堆疊可過濾某些暫存器,以確保 VM 對 PCIe 功能的安全指派。 對於 MMIO 空間,這個函式可以寫入尚未直接映射到呼叫者位址空間的暫存器,因為底層的虛擬 PCI 堆疊必須對這些暫存器強制執行緩解措施。

Requirements

需求 價值
最低支援的 Windows Windows 10,版本 20H2(x64);Windows 11,版本 24H2,建置版 26100.3915(Arm64)
Header WinHvPlatform.h
圖書館 WinHvPlatform.lib
DLL WinHvPlatform.dll
Architecture x64、Arm64

另請參閱