WIN CE下通过注册表键值控制RIL模块的扩展功能

本文为御风独舞原创,转载请注明出处:hi.baidu.com/roooy

 

今天下午通过分析RIL的MDD层我发现,只要在在WIN CE的注册表中以下以下路径添加对应的键值可以实现RIL模块相关的一些扩展功能:

HKEY_LOCAL_MACHINE/Drivers/BuiltIn/RIL/

   键名                             类型             作用
NoDialing                                    Boolean   禁止所有电话呼出
NoEmergencyDialing                   Boolean   禁止所有紧急呼叫,默认为911,112,08三个号码
BaudRate                                    DWORD   设置modem下载端口的波特率
DataModeInteruptionQuantum   DWORD   设置modem需要的启动时间
MaxTimeouts                               DWORD   设置modem最大超时时间
ComPort                                       SZ          设置RIL打开的控制COM口,默认为COM2
ComPortNotifications                    SZ          设置RIL打开的通知COM口,默认为COM2
MaxOpenAttempts                      DWORD   设置RIL打开COM口最大失败次数,默认为3次
OpenTimeout                              DWORD   设置RIL打开COM口失败以后重试的间隔时间,默认为1000毫秒
SpoofMultipleLines                      DWORD   用于测试目的伪造多条呼出线路
dwUseCphsPlmnName                DWORD   设置预读CPHS标准的PLMN名称
SpoofIncomingLine                      DWORD   用于测试目的伪造多条呼入线路
IgnoreIncomingCalls                    DWORD   忽略电话呼入,RIL驱动会抛弃呼入信号,不会对上层发送消息
DataModeCmdDelay                     DWORD   设置命令发送的超时时间,默认为3000毫秒
MaxDataModeTimeWithoutCmd   DWORD   设置Modem空闲时进入睡眠模式的时间,默认为30000毫秒
LastCLIP                                      DWORD   设置来电号码是否主动上报,默认CLIP=1
LastCLIR                                      DWORD   设置主叫号码显示限制,默认CLIR=0
TimeoutCmdInit                           DWORD   设置初始化命令超时时间,默认为20000毫秒
TimeoutCmdNoOp                        DWORD   设置空操作命令(AT/r/n)的超时时间,默认为10000毫秒
TimeoutCmdOnline                       DWORD   设置在数据模式下命令的超市时间,默认为10000毫秒
TimeoutAPIDefault                        DWORD   设置上层应用API超时时间,默认为10000毫秒
TimeoutDTRDrop                          DWORD   设置在数据模式下转换为命令模式的超时时间,默认为5000毫秒
TimeoutWaitForInit                      DWORD   设置等待初始化命令的超时时间,默认为20000毫秒
ConnectResponseDelay               DWORD   有些网络在我们连接后需要等待一段时间才能发送数据,该数值用于设置要等待的时间,默认为不等待
PreInitString                                SZ   设置Modem在启动前需要发送的初始化命令
TmpInitString                               SZ   设置Modem在启动前需要发送的临时初始化命令,要注意该命令在初始化一次以后便会被删除
ComInitString                              SZ   设置Modem在连接上COM口后需要发送的初始化命令

 

举一反三,我们可以通过修改MDD层代码,快速实现更多强大的通讯控制功能,例如:

NoEmergencyDialing可以实现更多的号码呼叫禁止,NoDialing可以在代码中做多个if判断分支,实现来电防火墙的功能。
 
一种快捷简便的WIN CE界面定制方法2009-06-24 14:37这里提供一个自己定制Windows CE UI 的大体思路:
1、在Catalog Item View里面把Core OS - CEBASE - Shell and User Interface - Shell - Graphical Shell 下面的 Standard Shell去掉。
2、在项目解决方案资源管理器里把OS Design新增加一个子项目,比如起名叫:MyDeskTop。
3、在OS Design的project.reg中,新增加如下注册表键:


[HKEY_LOCAL_MACHINE/Init]
"Launch50"="MyDesktop.exe"
"Depend50"=hex:14,00,1e,00


其中的Depend50是可选项,代表该模块依赖一些别的模块,被依赖的模块若加载不成功,则该模块也不会被加载。至于这些被依赖项的HEX值,可以查看对应Common.reg文件下的定义。
另外还有多个可选选项,具体意义可以参考这篇文章:http://msdn.microsoft.com/en-us/library/aa448482.aspx
4、这时子项目MyDesktop可以作为一个UI来使用,具体采用什么开发技术,可以有WIN32 SDK,MFC,GDI,DirectX等等多种技术组合,就看各人喜好了。

 

 

你可能感兴趣的:(WIN CE下通过注册表键值控制RIL模块的扩展功能)