WHvCreateVirtualProcessor2

Cria um novo processador virtual numa partição com propriedades opcionais de tempo de criação.

Sintaxe

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

Handle para o objeto de partição.

VpIndex

Especifica o índice do novo processador virtual.

Properties

Especifica um array de propriedades a aplicar ao novo processador virtual no momento da criação. Pode ser NULL quando PropertyCount é zero.

PropertyCount

Especifica o número de elementos no Properties array. Quando zero, o processador virtual é criado com propriedades por defeito.

Propriedades

Cada elemento do Properties array é um WHV_VIRTUAL_PROCESSOR_PROPERTY cujo PropertyCode membro seleciona a propriedade a aplicar e cujo membro value fornece a definição. Se o mesmo código de propriedade aparecer mais do que uma vez, o último valor fornecido entra em vigor. São definidos os seguintes códigos de propriedade.

WHvVirtualProcessorPropertyCodeNumaNode

Especifica o nó NUMA que suporta o processador virtual, no NumaNode membro. Quando esta propriedade não é fornecida, o processador virtual é colocado no nó ideal NUMA do thread que chama.

Valor de retorno

Se a função tiver sucesso, o valor de retorno é S_OK.

Se já existir um processador virtual em VpIndex, o valor de retorno é WHV_E_VP_ALREADY_EXISTS. Se VpIndex for maior ou igual ao número de processadores da partição, se uma propriedade especificar um código de propriedade desconhecido, ou se o NumaNode valor não for um nó NUMA válido, o valor de retorno é E_INVALIDARG.

Remarks

A WHvCreateVirtualProcessor2 função cria um novo processador virtual numa partição. Em x64, o índice do processador virtual é usado para definir o ID APIC do processador. Chamar WHvCreateVirtualProcessor(Partition, VpIndex, 0) é equivalente a chamar WHvCreateVirtualProcessor2(Partition, VpIndex, NULL, 0).

Requirements

Requirement Value
Windows mínimo suportado Windows 10, versão 20H2 (x64); Windows 11, versão 24H2, build 26100.3915 (Arm64)
Header WinHvPlatform.h
Biblioteca WinHvPlatform.lib
DLL WinHvPlatform.dll
Arquitetura x64, ARM64

Ver também