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

作成時に新しい仮想プロセッサに適用するプロパティの配列を指定します。 PropertyCountが 0 の場合はNULLできます。

PropertyCount

Properties配列内の要素の数を指定します。 0 の場合、仮想プロセッサは既定のプロパティで作成されます。

プロパティ

Properties配列の各要素は、PropertyCode メンバーが適用するプロパティを選択し、その値メンバーが設定を提供するWHV_VIRTUAL_PROCESSOR_PROPERTYです。 同じプロパティ コードが複数回表示される場合は、指定された最後の値が有効になります。 次のプロパティ コードが定義されています。

WHvVirtualProcessorPropertyCodeNumaNode

NumaNode メンバーで、仮想プロセッサをバックアップする NUMA ノードを指定します。 このプロパティが指定されていない場合、仮想プロセッサは呼び出し元スレッドの理想的な NUMA ノードに配置されます。

戻り値

関数が成功した場合、戻り値は S_OK

仮想プロセッサが既に VpIndexに存在する場合、戻り値は WHV_E_VP_ALREADY_EXISTSVpIndexがパーティションのプロセッサ数以上の場合、プロパティで不明なプロパティ コードが指定されている場合、またはNumaNode値が有効な NUMA ノードでない場合、戻り値はE_INVALIDARG

Remarks

WHvCreateVirtualProcessor2関数は、パーティションに新しい仮想プロセッサを作成します。 x64 では、仮想プロセッサのインデックスを使用してプロセッサの APIC ID を設定します。 WHvCreateVirtualProcessor(Partition, VpIndex, 0) の呼び出しは、WHvCreateVirtualProcessor2(Partition, VpIndex, NULL, 0) の呼び出しに相当します。

Requirements

要件 価値
サポートされている最小Windows Windows 10バージョン 20H2 (x64);Windows 11、バージョン 24H2、ビルド 26100.3915 (Arm64)
Header WinHvPlatform.h
図書館 WinHvPlatform.lib
DLL WinHvPlatform.dll
Architecture x64、Arm64

こちらも参照ください