本篇文档是深圳腾讯计算机系统有限公司编写的QQ API设计说明书,主要针对第三方应用程序开发者的使用,旨在促进QQ与硬件设备如USB Phone之间的交互。文档详细阐述了以下几个关键部分:
1. **引言**:
- 编写目的是为了提供一个详细的接口指南,让开发者能够利用QQ API进行软件间的通信,特别是在QQ与硬件设备之间传递数据和控制信息。
- 更新时间为2005年5月24日,版本为v1.0,强调了文档的时效性和稳定性。
2. **总体设计**:
- 设计基础是通过Windows API中的RegisterWindowMessage和WM_COPYDATA消息进行初期的通信。在双方未成功注册前,使用系统消息进行交互,一旦注册成功,则交换窗口句柄,此后主要通过WM_COPYDATA传递定制事件和参数。
3. **注册的系统消息**:
- WM_QQAPI_REGISTER和WM_QQAPI_REGISTER_RESP用来初始化通信,而WM_QQAPI_AVAILABLE则表明设备可用状态。
4. **自定义事件**:
- 文档列出了多个自定义事件,如EVENT_QQAPI_SET_AUDIODEVICE用于设置音频设备,EVENT_QQAPI_GET_USERINFO用于获取用户信息,以及与通话相关的EVENT_QQAPI_CALL和mute控制的EVENT_QQAPI_MUTE等。
5. **从QQ到设备和从设备到QQ的自定义事件**:
- 包括用户信息更新(EVENT_QQAPI_USERINFO)和状态变化(EVENT_QQAPI_STATUS_CHANGE)等,以及设备关闭的EVENT_QQAPI_SHUTDOWN。
6. **双向的自定义事件**:
- 如EVENT_QQAPI_CALL_STATUS反映了通话的实时状态。
7. **错误码定义**:
- 针对可能出现的错误情况,文档定义了从QQ到设备的ERROR_QQAPI_ERROR事件,用于传递错误信息。
8. **参数类型码表**:
- 提供了参数数据结构的详细说明,包括dwData字段用于标识事件类型,lpData用于存储参数,采用类型-长度-值的格式。
这份QQ API设计说明书为开发者提供了全面的指导,帮助他们理解如何通过特定的事件和参数编码实现QQ与硬件设备的无缝集成,以及如何处理可能遇到的各种错误情况。这是一份重要的技术文档,对于想要利用QQ平台扩展功能或进行定制化开发的开发者来说是不可或缺的参考资料。