返回 CPUID 结果,虚拟处理器将观察到给定的叶和子叶。
Note
此函数仅适用于 x64 分区。
Syntax
typedef struct WHV_CPUID_OUTPUT
{
UINT32 Eax;
UINT32 Ebx;
UINT32 Ecx;
UINT32 Edx;
} WHV_CPUID_OUTPUT;
HRESULT
WINAPI
WHvGetVirtualProcessorCpuidOutput(
_In_ WHV_PARTITION_HANDLE Partition,
_In_ UINT32 VpIndex,
_In_ UINT32 Eax,
_In_ UINT32 Ecx,
_Out_ WHV_CPUID_OUTPUT* CpuidOutput
);
参数
Partition
分区对象的句柄。
VpIndex
指定查询其 CPUID 结果的虚拟处理器的索引。
Eax
指定 CPUID 叶(指令时的值 EAX )。
Ecx
指定 CPUID 子叶(指令时的值 ECX )。
CpuidOutput
接收虚拟处理器将观察到的EAX、EBXECX和EDX值。
返回值
如果函数成功,则返回值为 S_OK.
如果 CpuidOutput 为 NULL,则返回值为 E_POINTER。
Remarks
该WHvGetVirtualProcessorCpuidOutput函数计算指定的虚拟处理器是否使用给定Eax叶和Ecx子叶执行CPUID指令时将观察到的 CPUID 结果。 结果反映虚拟处理器的当前扩展状态配置,以及为分区 WHvPartitionPropertyCodeCpuidResultList注册的任何 CPUID 结果重写,因此它表示来宾实际会看到的值,而不是原始主机 CPUID 值。
要求
| 要求 | 价值 |
|---|---|
| 支持的最低Windows | Windows 10 版本 20H2 |
| Header | WinHvPlatform.h |
| 图书馆 | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64 |