Hyper-V API

Hyper-V API を使用すると、ユーザーは、仮想化スタックのさまざまなレベルで仮想マシンまたはコンテナーを自由に構築、管理できます。

Hyper-V WMI プロバイダー

Hyper-V 用 WMI プロバイダーを使用すると、開発者やスクリプト作成者は、仮想化プラットフォーム用のカスタム ツール、ユーティリティ、拡張機能をすばやく構築できます。 WMI インターフェイスにより、Hyper-V サービスのすべての側面を管理できます。

詳細については、「Hyper-V WMI プロバイダー (V2)」を参照してください。

ホスト コンピューティング システム API

ホスト コンピューティング システム API の主な目的は、Windows 上の VM やコンテナーへのプラットフォームレベルのアクセスを提供することです。

HCS API は、VM またはコンテナー用にアプリケーションや管理サービスを構築する開発者向けです。 エンドユーザーは、HCS API と直接やり取りすることが想定されておらず、エンドユーザー エクスペリエンス (グラフィカルまたはコマンド ライン インターフェイス、より高度な API など) は、プラットフォーム API 上に構築されているアプリケーションまたは管理サービスによって提供されることが想定されています。

詳しくは、「ホスト コンピューティング システム API」をご覧ください。

Windows ハイパーバイザー プラットフォーム

この API は、Windows April 2018 Update 以降で使うことができます。

Windows ハイパーバイザー プラットフォームにより、サードパーティの仮想化スタックおよびアプリケーション用に拡張ユーザーモード API が追加されます。これを使用すると、ハイパーバイザー レベルでのパーティションの作成と管理、パーティションのメモリ マッピングの構成、仮想プロセッサの作成と実行制御を行うことができます。

例: QEMU などのクライアントをハイパーバイザーで実行し、同時に管理、構成を行い、ゲスト/ホスト プロトコル、ゲストでサポートされているドライバーも管理できます。 これらはすべて、Hyper-V で管理されているパーティションと共に、実行中にオーバーラップなく行うことができます。

詳細については、「Windows ハイパーバイザー プラットフォーム API」を参照してください。

WHP、WMI、および HCS API 間の比較

WHP API では VM の実行にサードパーティの仮想化スタックが必要であった一方で、HCS API と WMI API は Windows の仮想化スタックに構築されます。 シナリオの拡張に伴い、WHP API ではさらに多くの管理上の指示と、制限、ポリシーが提供されるようになりました。

WMI API はサーバー仮想化シナリオにおける高度なワークフロー向けに調整されていますが、HCS API は 1 つのマシン上のコンテナーまたはローカル VM へのより直接的なアクセスを必要とするアプリケーション サービス用により高い柔軟性と信頼性を実現するローカル VM ワークフローを管理する目的で設計されています。

WMI API は主にオンプレミスのサーバー管理に重きを置いており、オンプレミス サーバーの仮想化ワークフローに合った高レベルの抽象化が提供されます。 たとえば、WMI API を選択した場合、WMI モデルは VM に完全に適用されるため、簡単な 1 つのみの VM を作成したい場合でも、既定の仮想デバイスの完全な一覧が追加されていました。 HCS API の場合、サーバー仮想化以外の VM の幅広いさまざまなユース ケースのため (コンテナー、WSL など)、HCS API の目標は、より低いレベルのより詳細な API サービスを提供して VM の構成方法などに関する柔軟性を高める一方で、ユーザーにより高い管理機能を割り当てることであり、これは、特定の管理モデルに API の呼び出しを強制しないことを意味します。

仮想ハード ディスク インターフェイス

仮想ハード ディスク (VHD) 形式は、1 つのファイルにカプセル化された仮想ハード ディスクを指定する一般公開されているイメージ形式仕様であり、ネイティブ ファイル システムをホストできる一方で、標準のディスクおよびファイル操作もサポートします。 Windows SDK では、仮想ディスクを作成および管理する API がサポートされています。

詳細については、「仮想ハード ディスク インターフェイス」を参照してください。

ホスト コンピューティング ネットワーク サービス API

ホスト コンピューティング ネットワーク (HCN) サービス API は、仮想ネットワーク、仮想ネットワーク エンドポイント、および関連付けられているポリシーを管理するためのプラットフォームレベルのアクセスを提供する、一般公開されている Win32 API です。

詳細については、「HCN サービス API」を参照してください。

ハイパーバイザー命令エミュレーター API

ハイパーバイザー命令エミュレーター API は、アクセラレータと、Windows ハイパーバイザー プラットフォーム API により直接提供されないデバイス エミュレーションとの間のコミュニケーションを処理するために使用されます。

詳細については、「ハイパーバイザー命令エミュレーター API」を参照してください。

VM の保存状態ダンプ プロバイダー

Windows SDK には、VM の保存状態の未処理ダンプにアクセスするための API が含まれています。

詳細については、「VM の保存状態ダンプ プロバイダー API」を参照してください。