何らかの理由で、Windows Mobile スマートフォン (WM バージョン 6.1 の HTC s740) の内蔵モデムにアクセスできるようにする必要があります。私が欲しいのは、AT コマンドを与えるために、シリアル ポートのようにアクセスできるようにすることです。
TAPI Line インターフェイスと lineGetID() を使用して、ReadFile()/WriteFile() を実行できる「ハンドル」を取得するコードがあります。残念ながら、私はそれを機能させていません。
私が現在行っていることは次のとおりです。
lineInitializeEx() で TAPI を初期化する
lineOpen() でラインを開く
利用可能な各デバイスを反復処理し、情報を取得します。現在、「UNIMODEM」/「ヘイズ互換の COM1」デバイスを選択しています。しかし、代わりに「TAPI セルラー サービス」/「セルラー回線」を選択する必要がありますか? 同じ結果で「Cellular Line」デバイスを試しました。
ハンドルを取得するには、選択したデバイスで lineGetID() を使用します。
WriteFile("AT\r") を実行してから、直接 ReadFile() を実行します。アクセスしたモデムが本当にモデムであった場合は、"OK" が返されます。
うまくいかないことに気づき、イライラする...
しかし、これはこれまでのところ無理でした。
誰もそれを行う方法について何か考えがありますか?
Windows Mobile 6 SDK のネイティブ WIN32 C++ でこれを行っています。
更新: これまでのところ、RIL を使用して 2 台の電話間でデータ接続を確立することができました。これにより、書き込みと読み取りを行うためのシリアル ポート ハンドルが得られます。しかし、モデムと直接対話して AT コマンドを送信できるようにしたいと考えています。したがって、私が始めようとしている報奨金は、AT コマンドを与えるためにモデムに直接アクセスすることだけに関係しています。これまでの調査では、Windows Mobile の以前のバージョンでは (COM2 や COM9 を開いて RIL を殺すなどして) これが可能であったことが示されていますが、WM6 で動作するコードはまだ見たことがありません。