__vmx_vmlaunch
Microsoft 固有の仕様
現在の仮想マシンの制御構造 (VMCS) を使用して、呼び出し元のアプリケーションを VMX 非ルート操作状態 (VM 入力) に設定します。
構文
unsigned char __vmx_vmlaunch(void);
戻り値
値 | 意味 |
---|---|
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 関数を使用し、後続の VM 入力操作に __vmx_vmresume 関数を使用します。
__vmx_vmlaunch
関数は VMLAUNCH
マシン語命令と同じです。 この関数は、ホストの仮想マシンのモニターと、ゲスト オペレーティング システムとそのアプリケーションとの対話をサポートします。 詳細については、Intel Corporation のサイトで "IA-32 Intel アーキテクチャ向け Intel 仮想化技術仕様" (ドキュメント番号 C97063-002) というドキュメントを検索してください。
要件
Intrinsic | Architecture |
---|---|
__vmx_vmlaunch |
x64 |
ヘッダー ファイル<intrin.h>
Microsoft 固有の仕様はここまで