__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).
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>