BREW扩展类开发

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/6520456

扩展类不作为独立的应用程序使用,手机用户不能直接特别购买、下载或删除它们,而是在使用此扩展类的应用程序的内部环境中处理这些功能。扩展类是一种特殊的应用,相当于应用开发商自己开发的库,在PC机上表现为DLL库,在终端上同样是mod执行文件。

扩展类应用从所有者的角度可以分为两种:公有扩展类和私有扩展类。公有扩展类由开发商开发和拥有,提供给其他开发使用并收费。私有扩展类可以由开发商开发和拥有,供给自己的一个或多个应用使用,与其他应用共享收益;也可以由运营商开发和拥有,由运营商发布,提供给开发商或合作伙伴使用;还可以由手机厂商开发和拥有,由手机厂商发布,给合作伙伴使用。


在扩展类创建时要注意实现的次序,首先要分配内存,然后是初始化虚表,最后是初始化成员变量和所需的其他代码,示例如下:

if(nSize < sizeof(MyExtension)) nSize += sizeof(MyExtension);

If ((pMe = (MyExtension *)MALLOC(nSize + sizeof(VTBL(IMyExtension)))) == NULL)

return ENOMEMORY;

// initialize the data members

pMe->m_nRefs = 1;

pMe->m_MyData1 = 0;

pMe->m_MyData2 = 0;

扩展类中其他函数的实现与一般应用中的方法实现相同。

在使用扩展类时相当于一个接口的调用,只需包含扩展类的头文件,然后创建扩展类的接口实例,就可以正常使用扩展类中的函数了。例如:

If(ISHELL_CreateInstance(pMe->m_pIShell,AEECLSID_MYEXTENSION,(void **)&pExtCls))

return FALSE;

IEXTCLS_MyFunction1(pExtCls, 0);

IEXTCLS_Release(pExtCls);

一个应用和扩展类间的通信与前面讨论的应用间的通信方法是类似的。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wireless_com/archive/2010/09/29/5914222.aspx

目录
相关文章
|
监控 API C++
一个更好的文件监控类,基于 DotNet 官方提供的 FileSystemWatcher
一个更好的文件监控类,基于 DotNet 官方提供的 FileSystemWatcher
|
27天前
|
存储 API 调度
Cython 的扩展类
Cython 的扩展类
13 0
|
5月前
|
编译器 API PHP
深入PHP扩展开发:打造高效自定义模块
【4月更文挑战第30天】 在追求性能优化和特定功能实现的道路上,PHP提供了一种强大机制——扩展。本文将引导读者通过编写一个简单的PHP扩展来探索扩展开发的世界。我们将涉及从环境搭建到代码实现,再到扩展的编译与加载的完整流程,确保读者能够理解并实践如何创建高效的自定义PHP模块。
|
5月前
|
算法 关系型数据库 编译器
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目(一)
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目
179 0
|
5月前
|
C++
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目(二)
[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目
101 0
|
安全 Perl
Perl 特性之不安全的依赖
Perl 在安全方面的特性值得学习,在编译或解释层面阻挡常见安全操作被执行,可以使得我们写出更加安全的代码
127 0
|
Ubuntu Linux Windows
关于 QWidget+Qml程序打包到ubuntu时,程序与系统库版本不同,编译时添加并依赖自带库 的方法
关于 QWidget+Qml程序打包到ubuntu时,程序与系统库版本不同,编译时添加并依赖自带库 的方法
关于 QWidget+Qml程序打包到ubuntu时,程序与系统库版本不同,编译时添加并依赖自带库 的方法
|
Web App开发 移动开发 JSON
前端工具类网址推荐
前端工具类网址推荐
102 0
|
Web App开发 数据可视化 Unix
Windows环境VS2017编译skia库,亲测成功,借助skui的方法
Windows环境VS2017编译skia库,亲测成功,借助skui的方法
722 0
Windows环境VS2017编译skia库,亲测成功,借助skui的方法
|
设计模式 算法 编译器
Apple 正式开源 Swift 语言及其核心库和包管理器
Swift 语言自去年发布以来,就成为了历史上发展最快的编程语言之一。本周四,Swift 团队宣布 Swift 编程语言正式开源,一同开源的还有 Swift 核心库及包管理器。
228 0
Apple 正式开源 Swift 语言及其核心库和包管理器