__vmx_vmclear

Microsoft 专用

初始化指定的虚拟机控制结构 (VMCS),并将其启动状态设置为 Clear

语法

unsigned char __vmx_vmclear(
   unsigned __int64 *VmcsPhysicalAddress
);

参数

VmcsPhysicalAddress
[in] 指向包含要清除的 VMCS 的物理地址的 64 位内存位置的指针。

返回值

含义
0 操作成功。
1 操作失败,当前 VMCS 的 VM-instruction error field 中提供了扩展状态。
2 操作失败,无可用状态。

备注

应用程序可以通过使用 __vmx_vmlaunch__vmx_vmresume 函数执行 VM 输入操作。 __vmx_vmlaunch 函数只能用于启动状态为 Clear 的 VMCS,而 __vmx_vmresume 函数只能用于启动状态为 Launched 的 VMCS。 因此,使用 __vmx_vmclear 函数将 VMCS 的启动状态设置为 Clear。 对第一个 VM 输入操作使用 __vmx_vmlaunch 函数,将 __vmx_vmresume 函数用于后续的 VM 输入操作。

__vmx_vmclear 函数等同于 VMCLEAR 计算机指令。 此函数支持主机的虚拟机监视器与来宾操作系统及其应用程序进行交互。 有关详细信息,请在 Intel Corporation 网站点搜索“针对 IA-32 Intel 体系结构的 Intel 虚拟化技术规范”文档,文档编号为 C97063-002。

要求

Intrinsic 体系结构
__vmx_vmclear x64

头文件<intrin.h>

结束 Microsoft 专用

另请参阅

编译器内部函数
__vmx_vmlaunch
__vmx_vmresume