设置虚拟处理器的本地 APIC 状态。
Important
WHvSetVirtualProcessorInterruptControllerState2 已弃用。 请 WHvSetVirtualProcessorState 改用状态 WHvVirtualProcessorStateTypeInterruptControllerState2 类型。
Note
此函数仅适用于 x64 分区。
Syntax
HRESULT
WINAPI
WHvSetVirtualProcessorInterruptControllerState2(
_In_ WHV_PARTITION_HANDLE Partition,
_In_ UINT32 VpIndex,
_In_reads_bytes_(StateSize) const VOID* State,
_In_ UINT32 StateSize
);
参数
Partition
分区对象的句柄。
VpIndex
指定已设置中断控制器状态的虚拟处理器的索引。
State
以标准外部状态格式指定要应用的中断控制器状态。
StateSize
指定大小 State(以字节为单位)。
返回值
如果函数成功,则返回值为 S_OK.
如果是State,或者如果StateSize小于所需状态大小,则返回值为 E_POINTER。NULL 如果未 VpIndex 标识现有虚拟处理器,则返回值为 WHV_E_VP_DOES_NOT_EXIST。 如果虚拟处理器无法以当前状态访问,则返回值为 WHV_E_INVALID_VP_STATE。
Remarks
该 WHvSetVirtualProcessorInterruptControllerState2 函数从标准外部状态格式的缓冲区中还原指定的虚拟处理器的本地 APIC 状态,通常是以前由 WHvGetVirtualProcessorInterruptControllerState2该缓冲区生成的。 由于任务优先级寄存器(TPR)不是虚拟机监控程序中断控制器状态的一部分,因此当提供的 TPR 不同于当前值时,该函数也会同步虚拟处理器的 CR8 寄存器。
该函数需要为分区配置本地 APIC 的仿真。
要求
| 要求 | 价值 |
|---|---|
| 支持的最低Windows | Windows 10 版本 2004 |
| Header | WinHvPlatform.h |
| 图书馆 | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64 |