Symbian OS中项目定义文件(mmp)概述
2009-07-29 14:54
197 查看
Symbian UID Classification
symbian 应用程序主要由UID来标识,在V9.0以后,UID可以分为两类:受保护(protected)和未受保护(unprotected)。
我们在电脑上开发Symbian 应用程序时就可以使用unprotected uid, 这样应用程序就可以运行在模拟器上,进行测试和教学,但是如果要运行在真机上就必须在symbian网站上申请一个受保护的UID(protected UID)。
每个symbian应用程序有3个uID:
UID1-第一个UID(类型):
UID1用来设定该应用程序是一个执行程序(executable file)还是一个数据文件(data file).
UID1-Indicates whether this is an executable file or data file.
UID2-第二个UID(子类型):
UID2-具体含义取决于UID1的值:
1. 如果UID1是KExecutableImageUid, UID2不使用,所以UID2的值可以随意取。
2. 如果UID1是KDynamicLibraryUid, UID2将会是:
3. 如果UID1是KDirectFileStoreLayoutUid或者KPermanentFileStoreLayoutUid,那么UID2将是:
UID3-第三个UID(子子类型):
每个独立的应用程序有一个唯一的UID3值,它也被用作安全ID(secure ID),对于UIKON应用程序而言,用于关联数据文件和程序:
1. 对于dll和exe文件,它辩识特定的二进制(it identified the particular binary)。
2. 对于.app(UIKON应用程序),它辩识特定的应用程序(it identified the particular application program).
3. 对于由.apps创建的文件存储(file stores),它辩识和该文件相关的应用程序(it identifies the application program associated with this file).
4. 对于其他文件存储(file stores), 它没有典型的用途(但是你可以自定义它的用途)。
SID(Security ID):
二进制的安全标志符(SecureID)并没有明确地指定,如果你没有为它设定值的话,它默认是和UID3相同的,如果UID3也没有设定的话,它就会被视为是KNullUID, 如果应用程序的SecureID是KNullUId的话,就意味着未定义,并可能导致几个后果,如对应用程序使用的数据缺少保密性(privacy)。
如果你创建一个dll,通过在.mmp文件中指定TARGETTYPE dll,你会得到.lib和.dll文件对。你可以通过两种方式来动态链接该dll(dynamic load): 通过在.mmp文件中导入它的.lib文件,这种情况下,你没有必要指定UID;通过使用RLibary类型实时(runtime)导入dll文件,这种情况必须指定UID.
如果你通过在MMP文件中设定TARGETTYPE lib来创建.lib文件,链接该.lib文件时(static link), 你获得的是一个包含所有代码的.lib文件,这时候无需指定一个UID.
有指教之处,请发送邮件到wanliqunn@163.com,谢谢!
symbian 应用程序主要由UID来标识,在V9.0以后,UID可以分为两类:受保护(protected)和未受保护(unprotected)。
UID | 类型 | 范围 | 目的 |
Protected range | 0 | 0x00000000 – 0x0FFFFFFF | 内部开发使用 |
1 | 0x10000000 – 0x1FFFFFFF | 遗留的UID分配(legacy UID Allocation) | |
2 | 0x20000000 – 0x2FFFFFFF | V9受保护UID分配(V9 protected UID allocation) | |
3 | 0x30000000 – 0x3FFFFFFF | 预留(reserved) | |
4 | 0x40000000 – 0x4FFFFFFF | 预留(reserved) | |
5 | 0x50000000 – 0x5FFFFFFF | 预留(reserved) | |
6 | 0x60000000 – 0x6FFFFFFF | 预留 | |
7 | 0x70000000 – 0x7FFFFFFF | 发售商ID(vendor ID) | |
Unprotected range | 8 | 0x80000000 – 0x8FFFFFFF | 预留 |
9 | 0x90000000 – 0x9FFFFFFF | 预留 | |
A | 0xA0000000 – 0xAFFFFFFF | V9未受保护UID分配(V9 unprotected UID allocation) | |
B | 0xB0000000 – 0xBFFFFFFF | 预留 | |
C | 0xC0000000 – 0xCFFFFFFF | 预留 | |
D | 0xD0000000 – 0xDFFFFFFF | 预留 | |
E | 0xE0000000 – 0xEFFFFFFF | 开发使用(development use only) | |
F | 0xF0000000 – 0xFFFFFFFF | 遗留UID兼容(legacy UID compatibility range) |
每个symbian应用程序有3个uID:
UID1-第一个UID(类型):
UID1用来设定该应用程序是一个执行程序(executable file)还是一个数据文件(data file).
UID1-Indicates whether this is an executable file or data file.
UID value | Numeric value (Hex) | Meaning |
KExecutableImageUid | 0x1000007A | Indicates this an .exe executable file |
KDaynamicLibraryUid | 0x10000079 | Indicates this a DLL(executable) There are various types, with different extension(.dll, .app, .ldd, .pdd) |
KDirectFileStoreLayoutUid | 0x10000037 | Indicates this is a direct file store (data, not executable)Bracketed values from header files |
KPermanentFileStoreLayoutUid | 0x10000050 | Indicates this is a permanent file store(data, not executable) |
UID2-具体含义取决于UID1的值:
1. 如果UID1是KExecutableImageUid, UID2不使用,所以UID2的值可以随意取。
2. 如果UID1是KDynamicLibraryUid, UID2将会是:
UID value | Numeric value (Hex) | Meaning |
KSharedLibraryUid | 0x1000008D | Indicates this is a static interface DLL (.dll) |
KUidApp | 0x100039CE | Indicates an application conforming to APPARC(includes all Qikon apps, .app) |
KLogicalDeviceDriverUid | 0x100000AF | Indicates his is a logical decive driver (.ldd) |
KPhysicalDeviceDriverUid | 0x100039D0 | Indicates this is a physical device driver(.pdd) |
UID value | Numeric value (Hex) | Meaning |
KUidAppDllDoc | 0x10003A12 | Indicates this is a file store created by an .app to store user data (i.e, a document) |
KUidAppInfoFile | 0x10003A38 | Indicates this is an AIF file (a type of file store) |
每个独立的应用程序有一个唯一的UID3值,它也被用作安全ID(secure ID),对于UIKON应用程序而言,用于关联数据文件和程序:
1. 对于dll和exe文件,它辩识特定的二进制(it identified the particular binary)。
2. 对于.app(UIKON应用程序),它辩识特定的应用程序(it identified the particular application program).
3. 对于由.apps创建的文件存储(file stores),它辩识和该文件相关的应用程序(it identifies the application program associated with this file).
4. 对于其他文件存储(file stores), 它没有典型的用途(但是你可以自定义它的用途)。
SID(Security ID):
二进制的安全标志符(SecureID)并没有明确地指定,如果你没有为它设定值的话,它默认是和UID3相同的,如果UID3也没有设定的话,它就会被视为是KNullUID, 如果应用程序的SecureID是KNullUId的话,就意味着未定义,并可能导致几个后果,如对应用程序使用的数据缺少保密性(privacy)。
如果你创建一个dll,通过在.mmp文件中指定TARGETTYPE dll,你会得到.lib和.dll文件对。你可以通过两种方式来动态链接该dll(dynamic load): 通过在.mmp文件中导入它的.lib文件,这种情况下,你没有必要指定UID;通过使用RLibary类型实时(runtime)导入dll文件,这种情况必须指定UID.
如果你通过在MMP文件中设定TARGETTYPE lib来创建.lib文件,链接该.lib文件时(static link), 你获得的是一个包含所有代码的.lib文件,这时候无需指定一个UID.
有指教之处,请发送邮件到wanliqunn@163.com,谢谢!
相关文章推荐
- 【转】Symbian OS 项目定义文件(.mmp)
- Cmake 脚本对项目输出路径和输出头文件的路径定义
- web开发中,如何取得项目定义的property文件
- SpringMVC multipart文件上传详细教程之一:项目概述及基本配置
- Java项目,使用本地DTD定义文件
- 在VS2010Winform项目中使用RDLC报表定义文件、ReportViewer控件生成本地报表
- [C语言项目]防止头文件和全局变量重复定义
- mmp文件概述
- 头文件定义格式,项目开发中常用的struct,enum
- 项目活动定义 概述
- 第七周项目-用多文件组织多个类的程序2.role.cpp:定义角色类的成员函数
- 在VS2010Winform项目中使用RDLC报表定义文件、ReportViewer控件生成本地报表
- MVC 音乐商店 第1部分: 概述和文件-> 新建项目
- ServiceStack 项目实例 003 建议的文件结构定义及服务类说明
- ServiceStack 项目实例 003 建议的文件结构定义及服务类说明
- IOS开发概述-04.Xcode项目文件概述
- 针对vs创建空项目加载osg中opengl头文件未定义的错误
- Symbian OS 开发初级手册 (4) mmp, pkg 文件 和 makesis 工具
- 通过配置tomcat的service文件来自定义项目浏览路径
- Cmake 脚本对项目输出路径和输出头文件的路径定义