Share via


__vmx_vmlaunch

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at __vmx_vmlaunch.

Microsoft Specific**

Places the calling application in VMX non-root operation state (VM enter) by using the current virtual-machine control structure (VMCS).

Syntax

unsigned char __vmx_vmlaunch(  
   void);  

Return Value

Value Meaning
0 The operation succeeded.
1 The operation failed with extended status available in the VM-instruction error field of the current VMCS.
2 The operation failed without status available.

Remarks

An application can perform a VM-enter operation by using either the __vmx_vmlaunch or __vmx_vmresume function. The __vmx_vmlaunch function can be used only with a VMCS whose launch state is Clear, and the __vmx_vmresume function can be used only with a VMCS whose launch state is Launched. Consequently, use the __vmx_vmclear function to set the launch state of a VMCS to Clear, and then use the __vmx_vmlaunch function for your first VM-enter operation and the __vmx_vmresume function for subsequent VM-enter operations.

The __vmx_vmlaunch function is equivalent to the VMLAUNCH machine instruction. This function supports the interaction of a host's virtual machine monitor with a guest operating system and its applications. For more information, search for the document, "Intel Virtualization Technical Specification for the IA-32 Intel Architecture," document number C97063-002, at the Intel Corporation site.

Requirements

Intrinsic Architecture
__vmx_vmlaunch x64

Header file <intrin.h>

END Microsoft Specific

See Also

Compiler Intrinsics
__vmx_vmresume
__vmx_vmclear