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 虚拟机监控程序平台

从 Windows 2018 年 4 月更新版开始,将提供此 API

Windows 虚拟机监控程序平台添加了一个适合第三方虚拟化堆栈和应用程序的扩展用户模式 API,用于在虚拟机监控程序级别创建和管理分区、配置分区的内存映射以及创建和控制虚拟处理器的执行。

示例:QEMU 之类的客户端可以在虚拟机监控程序上运行,同时维护其管理、配置、来宾/主机协议和来宾支持的驱动程序。 所有这些在与 Hyper-V 托管分区一起运行时没有重叠。

有关详细信息,请参阅:Windows 虚拟机监控程序平台 API

WHP、WMI 和 HCS API 之间的比较

WHP API 需要第三方虚拟化堆栈才能运行 VM,HCS API 和 WMI API 则内置于 Windows 的虚拟化堆栈中。 随着场景范围的拓宽,WMI API 将提供更多管理指令以及限制和策略。

WMI API 实际上是针对服务器虚拟化场景中的高级工作流定制的,HCS API 则专用于管理本地 VM 工作流,对于需要更直接地访问单台计算机上的容器或本地 VM 的应用程序服务来说,它可提供更多的灵活性,但相应的责任也更大。

WMI API 主要关注本地服务器管理,它提供真正适合本地服务器虚拟化工作流的高级抽象。 例如,如果选择 WMI API,WMI 模型将完全应用于 VM,这样会添加默认虚拟设备的完整列表,即使你只想创建一个简单的 VM,也是如此。 至于 HCS API,由于除了服务器虚拟化之外还有很多不同的 VM 用例(例如容器和 WSL),因此 HCS API 的目标是提供更多低级别、更细化的 API 服务,一方面是为了在 VM 的配置方式等问题上提供更多的灵活性,另一方面是为了向用户分配更多的管理工作,这意味着它不会强制特定的管理模型调用 API。

虚拟硬盘接口

虚拟硬盘 (VHD) 格式是一种公开提供的映像格式规范,用于指定封装在单个文件中的虚拟硬盘,它能够托管本机文件系统,同时还支持标准磁盘和文件操作。 Windows SDK 支持可用于创建和管理虚拟磁盘的 API。

有关详细信息,请参阅:虚拟硬盘接口

主机计算网络服务 API

主机计算网络 (HCN) 服务 API 是一个面向公众的 Win32 API,提供平台级访问权限来管理虚拟网络、虚拟网络终结点和相关策略。

有关详细信息,请参阅:HCN 服务 API

虚拟机监控程序指令仿真器 API

虚拟机监控程序指令仿真器 API 用于处理加速器和设备仿真之间并非由 Windows 虚拟机监控程序平台 API 直接提供的通信。

有关详细信息,请参阅:虚拟机监控程序指令仿真器 API

VM 保存状态转储提供程序

Windows SDK 包含一个 API,可用于访问 VM 保存状态的原始转储。

有关详细信息,请参阅:VM 保存状态转储提供程序 API