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等等多種技術組合,就看各人喜好了。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章