WHvCreateVirtualProcessor2

Создает новый виртуальный процессор в секции с необязательными свойствами времени создания.

Синтаксис

typedef enum WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE
{
    WHvVirtualProcessorPropertyCodeNumaNode = 0x00000000,
} WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE;

typedef struct WHV_VIRTUAL_PROCESSOR_PROPERTY
{
    WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE PropertyCode;
    UINT32 Reserved;
    union
    {
        USHORT NumaNode;
        UINT64 Padding;
    };
} WHV_VIRTUAL_PROCESSOR_PROPERTY;

HRESULT
WINAPI
WHvCreateVirtualProcessor2(
    _In_ WHV_PARTITION_HANDLE Partition,
    _In_ UINT32 VpIndex,
    _In_reads_(PropertyCount) const WHV_VIRTUAL_PROCESSOR_PROPERTY* Properties,
    _In_ UINT32 PropertyCount
    );

Parameters

Partition

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

VpIndex

Указывает индекс нового виртуального процессора.

Properties

Задает массив свойств, применяемых к новому виртуальному процессору во время создания. Может быть, когда NULLPropertyCount равно нулю.

PropertyCount

Указывает количество элементов в массиве Properties . Если значение равно нулю, виртуальный процессор создается со свойствами по умолчанию.

Properties

Каждый элемент массива — это WHV_VIRTUAL_PROCESSOR_PROPERTY элементProperties, член которого PropertyCode выбирает свойство для применения, и элемент значения которого предоставляет параметр. Если один и тот же код свойства отображается несколько раз, последнее предоставленное значение вступает в силу. Определены следующие коды свойств.

WHvVirtualProcessorPropertyCodeNumaNode

Указывает узел NUMA, который поддерживает виртуальный процессор в элементе NumaNode . Если это свойство не предоставлено, виртуальный процессор помещается в идеальный узел NUMA вызывающего потока.

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

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

Если виртуальный процессор уже существует VpIndex, возвращаемое значение равно WHV_E_VP_ALREADY_EXISTS. Если VpIndex значение больше или равно числу процессоров секции, если свойство указывает код неизвестного свойства или если NumaNode значение не является допустимым узлом NUMA, возвращается E_INVALIDARGзначение.

Remarks

Функция WHvCreateVirtualProcessor2 создает в секции новый виртуальный процессор. В x64 индекс виртуального процессора используется для задания идентификатора APIC процессора. Вызов WHvCreateVirtualProcessor(Partition, VpIndex, 0) эквивалентен вызову WHvCreateVirtualProcessor2(Partition, VpIndex, NULL, 0).

Требования

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

См. также