出於某些原因,我需要能夠訪問Windows Mobile智能手機的內置調制解調器(WM版本爲6.1的HTC s740)。我想要的是能夠訪問它,就像它是一個串行端口,以便提供AT命令。在Windows Mobile中直接訪問調制解調器
我有代碼,使用TAPI行界面和lineGetID()來獲得一個「句柄」,我shuld能夠執行ReadFile()/ WriteFile()。可悲的是我沒有得到它的工作。
我目前做的是:
初始化TAPI與lineInitializeEx()
公開賽lineOpen(線路)
迭代通過每個可用的設備和獲取信息。目前我正在選擇「UNIMODEM」/「與COM1兼容的Hayes」設備。但是,也許我應該選擇「TAPI蜂窩服務」/「蜂窩線」呢?我試過了「蜂窩線」設備,結果相同。
在選定設備上使用lineGetID()來獲取句柄。
執行WriteFile(「AT \ r」),然後直接執行ReadFile(),如果它確實是我訪問的調制解調器,應該給我一個「OK」。
實現,它不工作,生氣......
但這迄今無去。
有沒有人有任何想法如何做到這一點?
我在Windows Mobile 6 SDK的Native WIN32 C++中執行此操作。
更新: 我到目前爲止設法使用RIL獲得兩個電話之間的數據連接,這爲我提供了一個串行端口句柄來讀寫。但是,我仍然希望能夠直接與調制解調器進行交互以發送AT命令。所以,我開始的賞金只是爲了給AT命令直接訪問調制解調器。到目前爲止,我的調查表明,這在Windows Mobile的早期版本中是可能的(通過打開COM2和/或COM9以及殺死RIL或類似的東西),但我還沒有看到在WM6上工作的代碼。
lineGetID()返回一個句柄。如果不讀取和寫入,我應該怎麼做? 使用CreateFile會很棒,但是我需要確保世界上的每個Windows Mobile設備都使用相同的COM端口作爲它的調制解調器。 – 2009-06-16 06:12:04