オプションの作成時プロパティを使用して、パーティション内に新しい仮想プロセッサを作成します。
構文
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_EXISTS。
VpIndexがパーティションのプロセッサ数以上の場合、プロパティで不明なプロパティ コードが指定されている場合、または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 |