寫入虛擬 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 |