使用可选的创建时属性在分区中创建一个新的虚拟处理器。
Syntax
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
);
参数
Partition
分区对象的句柄。
VpIndex
指定新虚拟处理器的索引。
Properties
指定要在创建时应用于新虚拟处理器的属性数组。 可能为NULLPropertyCount零。
PropertyCount
指定数组中的 Properties 元素数。 如果为零,则会使用默认属性创建虚拟处理器。
属性
数组的每个元素Properties都是一个WHV_VIRTUAL_PROCESSOR_PROPERTYPropertyCode成员选择要应用的属性,其值成员提供设置。 如果同一属性代码多次出现,则提供的最后一个值将生效。 定义了以下属性代码。
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)。
要求
| 要求 | 价值 |
|---|---|
| 支持的最低Windows | Windows 10版本 20H2 (x64):Windows 11版本 24H2 内部版本 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| 图书馆 | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64、Arm64 |