搜索

pdf文档 Oracle VM VirtualBox 5.2.0_BETA1 Programming Guide and Reference

2.41 MB 415 页 0 下载 29 浏览 0 评论 0 收藏
语言 格式 评分
英语
.pdf
3
摘要
The document provides a comprehensive programming guide and reference for Oracle VM VirtualBox 5.2.0 BETA1. It covers the use of the VirtualBox Main API, including web services (both object-oriented and raw) and COM/XPCOM interfaces. The guide explains how to interact with virtual machines, manage their configurations, and handle events. It also details the migration of API methods between major versions and provides examples for different programming languages. The document emphasizes the importance of understanding API changes to ensure compatibility across different VirtualBox versions.
AI总结
### Oracle VM VirtualBox 5.2.0_BETA1 编程指南和参考文档总结 #### 1. 引言 - **模块化设计**:VirtualBox 采用模块化设计,提供灵活的构建块,支持多种编程接口。 - **API 实现方式**:提供两种主要接口形式——基于 Web 服务(COM/XPCOM)和原始 Web 服务,支持不同语言和环境的开发。 - **Web 服务概述**:Web 服务基于 WSDL,支持跨平台通信,但与传统 Web 服务相比,VirtualBox 的 Web 服务更接近对象导向的 COM API。 #### 2. 环境特定说明 - **对象导向 Web 服务 (OOWS)**: - 支持 Java(JAX-WS)、Python 和 PHP 等语言,提供封装的客户端库,简化开发流程。 - **原始 Web 服务**: - 支持 Java(Axis)、Perl 等语言,需手动处理更多细节,如状态管理和对象引用。 - **COM/XPCOM 直接使用**: - 支持 Python、C++、Visual Basic 等语言,通过绑定层或 C 接口访问 VirtualBox API。 - 事件队列处理和异步操作是开发中的重要考虑因素。 #### 3. 基本 VirtualBox 概念与示例 - **虚拟机信息获取**:通过 `IMachine` 接口读取虚拟机属性。 - **虚拟机配置**:通过 `ISession` 接口修改虚拟机设置,支持异步操作。 - **虚拟机启动**:使用 `IConsole` 或 `IMachine` 接口启动虚拟机。 - **事件处理**:VirtualBox 提供丰富的事件接口(如 `IVetoEvent` 和 `IVideoCaptureChangedEvent`),用于监控和响应虚拟机状态变化。 #### 4. VirtualBox Shell - VirtualBox 提供命令行工具 `vboxwebsrv`,用于运行和管理 Web 服务,支持日志记录和认证功能。 #### 5. 接口类(接口) - **核心接口**: - `IVirtualBox`:作为主接口,提供对所有虚拟机和资源的管理能力。 - `IMachine`:管理虚拟机配置,支持硬件参数(如 CPU、内存、存储等)的读写。 - `IAppliance`:处理 OVF 文件的导入和导出,支持异步操作和进度监控。 - **事件接口**: - `IEvent`:用于通知应用程序虚拟机状态的变化(如硬件状态、视频捕获变化等)。 - **其他接口**: - `IUnattended`:支持无人值守安装过程的配置和执行。 - `IVBoxSVCAvailabilityChangedEvent`:监控 VirtualBox 服务的状态变化。 #### 6. 主要 API 变更日志 - **5.x 版本变更**: - `ProcessCreateFlag::NoProfile` 重命名为 `ProcessCreateFlag::Profile`,语义发生变化。 - **5.0 版本变更**: - 将 `IConsole` 中的保存状态、快照管理等方法移动到 `IMachine`,调整了 API 结构。 - 新增硬件版本、CPU 热插拔、内存气球等配置参数。 #### 7. 编程注意事项 - **Web 服务开发**: - 不同于传统 Web 服务,VirtualBox 的 Web 服务基于对象导向的 COM API,需处理对象引用和状态管理。 - 函数命名规则为“接口名_方法名”。 - **COM/XPCOM 开发**: - 事件驱动和异步操作是关键,需确保事件队列的正确处理。 - 使用绑定层或封装库(如 Python 的 ` vboxapi`)可简化开发。 #### 8. 其他重要信息 - **版本兼容性**: - 主要版本更新可能导致 API 不兼容,需确保代码与目标版本的兼容性。 - **OOWS 包装器**: - 通过将 VirtualBox 类封装到版本特定的包(如 `org.virtualbox_2_2`),支持同时连接不同版本的 VirtualBox。 #### 总结 Oracle VM VirtualBox 5.2.0_BETA1 提供了丰富且灵活的编程接口,支持多种语言和开发环境。通过模块化设计和事件驱动机制,开发者可以高效地管理虚拟机和实现复杂功能。使用 OOWS 或 COM/XPCOM 接口时,需注意 API 的版本差异和开发规范,以确保代码的稳定性和兼容性。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 403 页请下载阅读 -
文档评分
请文明评论,理性发言.