« WDMデバイスのコントローラ | トップページ | Ajax版のMITOUJTAG開発つづき »

2009.05.02

WDMコントローラをリリースしました

昨日から開発していた、WDMデバイスドライバコントローラをリリースしました。

画面は次の図のようになりました。

Wdmctl1_2

今日の改良で、複数のデバイスを1回の操作で有効/無効/アンインストールできるようにしました。
ハードウェアIDを複数書いておけば、それらが一斉に処理されます。

「無効」を押すと、こうなります。
Wdmctl4

「有効」を押すと、こうなります。
Wdmctl5


この機能は、複数のデバイス(≒ハードウェア)が単一のドライバ(≒SYSファイル)を参照しているときに、参照カウンタが0にならないとメモリ上からアンロードされないというOSの仕様に対処するためものです。
ドライバ(=SYSファイル)を開発しているパソコンの中では頻繁にSYSファイルがアップデートされると思いますが、毎回毎回WDMをインストールするのは至極面倒です。そのような場合、C:\Windows\system32\driversの中の***.sysを直接書き換えられれば良いのですが、参照しているデバイス数が0にならないと、sysファイルを書き換えてもそれがロードされないのです。
そういうわけで、複数のデバイスを一斉に無効/有効する機能を用意しました。
つまり、一斉無効→sysを書き換え→一斉有効とすれば、WDMのインストール手続きを経ることなく、WDMドライバの実体をアップデートできます。
これは、ドライバを利用したアプリを開発したり、アプリを使う分にはまったく関係ないのですが、ドライバを開発するときのみ問題になることです。


さて、デバイスを操作する際に必要なハードウェアIDとは何かということですが、これは「ハードウェアを一意に識別するためのID」です。このIDはINFファイルに書かれているのですが、それではわかりにくいので、一覧を表示できるようにしました。
Wdmctl2

このリスト上をダブルクリックすれば、目的のハードウェアIDがリストに追加されます。

また、PCIやUSBデバイスの場合は、ベンダID、デバイスIDからハードウェアIDを生成する機能をつけました。

Wdmctl3

このような感じで、Windowsのデバイスマネージャを使うことなく、さらに、デバイスマネージャに表示されていないデバイスに対してさえも、有効/無効/インストール/アンインストールの操作ができるようになりました。
デフォルトでは、「WDM版汎用PCI Expressドライバ」をインストールするようになっていますが、INFファイルやハードウェアIDの設定を変更すれば、どのようなデバイスにも使えます。

このツールは使い方を一歩間違えると大変危険です。くれぐれも使い方にはご注意ください。

ダウンロードはこちらにあります。
http://www.tokudenkairo.co.jp/pcie/index.html#devdrvにあります。

どなたでも無償でご利用いただけます。

どうぞよろしくお願いします。


|

« WDMデバイスのコントローラ | トップページ | Ajax版のMITOUJTAG開発つづき »

コメント

コメントを書く



(ウェブ上には掲載しません)




« WDMデバイスのコントローラ | トップページ | Ajax版のMITOUJTAG開発つづき »