__vmx_vmlaunch

Microsoft Specific

This topic is new for Visual Studio 2005 SP1.

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

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>

See Also

Concepts

Compiler Intrinsics

__vmx_vmresume

__vmx_vmclear