WHvWriteVpciDeviceRegister

Scrive uno spazio di configurazione o un registro MMIO di un dispositivo PCI virtuale (VPCI).

Sintassi

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

Gestire la partizione proprietaria del dispositivo VPCI.

LogicalDeviceId

Specifica l'identificatore logico del dispositivo VPCI.

Register

Specifica il registro da scrivere, come WHV_VPCI_DEVICE_REGISTER struttura che identifica lo spazio del registro, l'offset e le dimensioni.

Data

Specifica i dati da scrivere nel registro. Il buffer deve essere almeno Register->SizeInBytes byte.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è S_OK.

Remarks

La WHvWriteVpciDeviceRegister funzione scrive un registro nello spazio di configurazione o nello spazio MMIO della funzione fisica o virtuale PCIe associata a un dispositivo VPCI. Per lo spazio di configurazione, l'accesso a determinati registri può essere filtrato dallo stack PCI virtuale sottostante per garantire l'assegnazione sicura delle funzioni PCIe alle macchine virtuali. Per lo spazio MMIO, questa funzione può scrivere registri che non sono stati mappati direttamente nello spazio indirizzi del chiamante perché lo stack PCI virtuale sottostante deve applicare le mitigazioni per tali registri.

Requisiti

Requisito Valore
Minimo Windows supportato Windows 10 versione 20H2 (x64); Windows 11, versione 24H2, build 26100.3915 (Arm64)
Header WinHvPlatform.h
Libreria WinHvPlatform.lib
DLL WinHvPlatform.dll
Architecture x64, Arm64

Vedere anche