WHvReadVpciDeviceRegister

VPCI(가상 PCI) 디바이스의 구성 공간 또는 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
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 디바이스를 소유하는 파티션을 처리합니다.

LogicalDeviceId

VPCI 디바이스의 논리적 디바이스 식별자를 지정합니다.

Register

읽을 레지스터를 레지스터 공간, 오프셋 및 크기를 식별하는 구조체로 WHV_VPCI_DEVICE_REGISTER 지정합니다.

Data

레지스터에서 읽은 데이터를 받습니다. 버퍼는 바이트 이상 Register->SizeInBytes 이어야 합니다.

반환 값

함수가 성공하면 반환 값은 .입니다 S_OK.

Remarks

이 함수는 WHvReadVpciDeviceRegister VPCI 디바이스와 연결된 PCIe 물리적 또는 가상 함수의 구성 공간 또는 MMIO 공간에서 레지스터를 읽습니다. 구성 공간의 경우 PCIe 함수의 보안 VM 할당을 보장하기 위해 기본 가상 PCI 스택을 통해 특정 레지스터에 대한 액세스를 필터링할 수 있습니다. MMIO 공간의 경우 기본 가상 PCI 스택이 해당 레지스터에 대한 완화를 적용해야 하므로 이 함수는 호출자의 주소 공간에 직접 매핑되지 않은 레지스터를 읽을 수 있습니다.

Requirements

요구 사항 Value
지원되는 최소 Windows Windows 10, 버전 20H2(x64); Windows 11 버전 24H2, 빌드 26100.3915(Arm64)
Header WinHvPlatform.h
라이브러리 WinHvPlatform.lib
동적 링크 라이브러리 (DLL) WinHvPlatform.dll
아키텍처 x64, Arm64

참고하십시오