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 2018 年 4 月更新开始提供。
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 包含一个用于访问 VM 保存状态的原始转储的 API。
有关详细信息,请参阅: VM 保存的状态转储提供程序 API