WDMコントローラをリリースしました
昨日から開発していた、WDMデバイスドライバコントローラをリリースしました。
画面は次の図のようになりました。
今日の改良で、複数のデバイスを1回の操作で有効/無効/アンインストールできるようにしました。
ハードウェアIDを複数書いておけば、それらが一斉に処理されます。
「無効」を押すと、こうなります。

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

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

このリスト上をダブルクリックすれば、目的のハードウェアIDがリストに追加されます。
また、PCIやUSBデバイスの場合は、ベンダID、デバイスIDからハードウェアIDを生成する機能をつけました。

このような感じで、Windowsのデバイスマネージャを使うことなく、さらに、デバイスマネージャに表示されていないデバイスに対してさえも、有効/無効/インストール/アンインストールの操作ができるようになりました。
デフォルトでは、「WDM版汎用PCI Expressドライバ」をインストールするようになっていますが、INFファイルやハードウェアIDの設定を変更すれば、どのようなデバイスにも使えます。
このツールは使い方を一歩間違えると大変危険です。くれぐれも使い方にはご注意ください。
ダウンロードはこちらにあります。
http://www.tokudenkairo.co.jp/pcie/index.html#devdrvにあります。
どなたでも無償でご利用いただけます。
どうぞよろしくお願いします。
| 固定リンク



コメント