WHvGetVpciDeviceProperty

Извлекает свойство виртуального устройства PCI (VPCI).

Синтаксис

typedef enum WHV_VPCI_DEVICE_PROPERTY_CODE
{
    WHvVpciDevicePropertyCodeUndefined   = 0,
    WHvVpciDevicePropertyCodeHardwareIDs = 1,
    WHvVpciDevicePropertyCodeProbedBARs  = 2
} WHV_VPCI_DEVICE_PROPERTY_CODE;

HRESULT
WINAPI
WHvGetVpciDeviceProperty(
    _In_ WHV_PARTITION_HANDLE Partition,
    _In_ UINT64 LogicalDeviceId,
    _In_ WHV_VPCI_DEVICE_PROPERTY_CODE PropertyCode,
    _Out_writes_bytes_to_(PropertyBufferSizeInBytes, *WrittenSizeInBytes) VOID* PropertyBuffer,
    _In_ UINT32 PropertyBufferSizeInBytes,
    _Out_opt_ UINT32* WrittenSizeInBytes
    );

Parameters

Partition

Обработайте секцию, которая владеет устройством VPCI.

LogicalDeviceId

Указывает идентификатор логического устройства устройства VPCI.

PropertyCode

Указывает свойство для запроса в качестве WHV_VPCI_DEVICE_PROPERTY_CODE значения.

PropertyBuffer

Получает значение запрошенного свойства. Для WHvVpciDevicePropertyCodeHardwareIDsэтого буфер получает структуру WHV_VPCI_HARDWARE_IDS . Для WHvVpciDevicePropertyCodeProbedBARsэтого получает структуру WHV_VPCI_PROBED_BARS .

PropertyBufferSizeInBytes

Задает размер буфера PropertyBuffer в байтах.

WrittenSizeInBytes

Получает количество байтов, записанных PropertyBufferв . Этот параметр является необязательным и может быть NULL.

Возвращаемое значение

Если функция выполнена успешно, возвращается S_OKзначение.

Если PropertyBufferSizeInBytes значение меньше структуры, необходимой для запрошенного свойства, функция возвращается WHV_E_INSUFFICIENT_BUFFER. Если PropertyCode это не распознаваемое свойство, функция возвращается WHV_E_UNKNOWN_PROPERTY.

Remarks

Функция WHvGetVpciDeviceProperty извлекает свойство устройства VPCI, созданного с WHvCreateVpciDeviceпомощью . Используется WHvVpciDevicePropertyCodeHardwareIDs для получения поставщиков PCI устройства, устройств, редакций, классов и идентификаторов подсистемы, а WHvVpciDevicePropertyCodeProbedBARs также для получения пробных значений регистров базовых адресов типа 0 устройства (BAR).

Требования

Requirement Ценность
Минимальный поддерживаемый Windows Windows 10 версии 20H2 (x64); Windows 11 версии 24H2, сборка 26100.3915 (Arm64)
Header WinHvPlatform.h
Библиотека WinHvPlatform.lib
DLL WinHvPlatform.dll
Architecture x64, Arm64

См. также