WM6用のデバイスドライバを書く…準備.

USBデバイスのドライバを作ってアドエス上で運用したい.

CEも,なんだかんだで10年以上成長を続けたOSだし,最近はぐーぐる先生に聞くと中国語の検索結果ばかり出てくる感じだし*1
断片的な情報で,こんな感じかなー.と当たりをつけていく.


ソースコードもダウンロードして拝読.確かに簡単だなぁ.まるで普通のアプリのDLLみたいだ.と思ったら…

CEのデバイスドライバを書くのは簡単です。 Win2000のWDMドライバの1/10程度の難しさと思えばいいです。 デバイスドライバはdevice.exeプロセスに読み込まれる単なるdllで、 それ以上でも以下でもありません。通常のWin32 APIは何でも発行できますし、 ファイルをオープンしてログを書くことだってできます。 WDMみたいに、 現在の割り込みレベルによって呼び出すAPIに気を使う必要もありません。
あら.ほんとにDLLなのね.そうすると,CeGCCでも普通に開発できちゃうかもってことなのかしら.あ,でもusbdi.hとその周辺のインクルードが足りないのか….


ところで,確かここ数年のETだったかMIPSセミナーだったかで,Microsoftさんが,「ドライバモデル変えましたよー」って言っていたような.さらに徘徊.


 なお、いままでのユーザーモードドライバとしての実装も残されています。ドライバはカーネルモードドライバとするのかユーザーモードドライバとするのか選択可能です。また、これまでと同様、DLLとして実装します。
なるほど.パフォーマンスが問われない場合は,ユーザモードドライバでも十分? ていうか,カーネルモードなんかにしないほうが安全だよねきっと.



WM6については,おおよそ解った気になってきた.
アドエス固有の問題は無いだろうか.


[es]で周辺機器が使えないことが多い理由についての解説。メモリマップは[es]Ver.1.02をProcMemViewerで表示したもの。ちなみにVer.1.50はさらに厳しい状態です。

結局のところdevice.exeが周辺機器用のドライバー(dll)を読み込むための空きがないことがガンです。

アドエスの場合はどうなのだろう.これら[ES]用対策ツールの一部は,アドエスは使えないなんて噂もある様子.要調査.

*1:オフショアによる日本のソフトウェア業界の没落を肌で感じる瞬間….