WHvGetVirtualProcessorCpuidOutput

Возвращает результат ЦПИД, который виртуальный процессор будет наблюдать за заданным конечным и вложенным.

Замечание

Эта функция применяется только к секциям x64.

Синтаксис

typedef struct WHV_CPUID_OUTPUT
{
    UINT32 Eax;
    UINT32 Ebx;
    UINT32 Ecx;
    UINT32 Edx;
} WHV_CPUID_OUTPUT;

HRESULT
WINAPI
WHvGetVirtualProcessorCpuidOutput(
    _In_ WHV_PARTITION_HANDLE Partition,
    _In_ UINT32 VpIndex,
    _In_ UINT32 Eax,
    _In_ UINT32 Ecx,
    _Out_ WHV_CPUID_OUTPUT* CpuidOutput
    );

Parameters

Partition

Дескриптор объекта секции.

VpIndex

Задает индекс виртуального процессора, результат ЦП КОТОРОГО запрашивается.

Eax

Указывает лист ЦПИД (значение EAX во время инструкции).

Ecx

Задает вложенный файл CPUID (значение ECX во время инструкции).

CpuidOutput

EAXПолучает значение , EBXECXи EDX значения, которые будет наблюдать виртуальный процессор.

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

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

Если CpuidOutput есть NULL, возвращаемое значение равно E_POINTER.

Remarks

Функция WHvGetVirtualProcessorCpuidOutput вычисляет результат ЦПИД, который будет наблюдать указанный виртуальный процессор, если он выполнил CPUID инструкцию с заданным Eax конечным и Ecx вложенным. Результат отражает текущую конфигурацию расширенного состояния виртуального процессора и любые переопределения ЦПID, зарегистрированные для секции WHvPartitionPropertyCodeCpuidResultList, поэтому он представляет значение, которое гость на самом деле увидит, а не значение ЦПД необработанного узла.

Требования

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

См. также