winUSB.sysについて
投稿者: NORI 投稿日時: 金, 2008/04/11 - 18:11
お世話になります。NORIです。
今、winUSB.sys について調べています。
これを使用すれば、カーネルドライバを作成せずにアプリケーションから
USBデバイスを制御できると認識しています。
サイトには、このとき必要となるINFファイルの例がいろいろ出ており、
まあ大抵は似ているので、それをマネてINFファイルを作成し、
winUSB.sysを使用しようとしているのですが、インストール時に
「INFに必要なセクションが見つかりませんでした。」というエラーに
なってしまいます。
どのようにインストールしようとしたかといいますと、あるUSBデバイスを
PCにつなぐと、ドライバのインストールを促されますが、ここでこの
INFファイルが入っているフォルダを指定しています。
正常にインストールできれば、winUSB.sys がロードされ、
そのデバイスについては、winUSB.dllのAPI群、WinUsb_XXX()を使用して、
デバイス制御できるようになる、と認識していますが、正しいのでしょうか?
XP と Vista で試してみましたが、両方エラーになってしまいました。
(そんなことしていいのかわかりませんが、XPには winUSB.sys は入って
いませんので、Vista からコピーして入れてみました。)
インストールの最初の段階であり、どうしたらよいのか途方にくれています。
どなたかアドバイス等いただければ幸いです。
以上、よろしくお願いいたします。

こんにちは、sagaraで
こんにちは、sagaraです。
私も以前Vistaでのインストールのみ試したことがあって、
その時にNORIさんと同じエラーが出ました。
その時にinfファイルの修正等で正常にインストール出来たので、
手順等を記載します。
①infファイルの作成
http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d59...
上記サイトアドレスに"How to Use WinUSB to Communicate with a USB Device"という題目の
ドキュメントファイル(doc)があります。
そのファイルにinfファイルの記述がありますので、
そのままコピーしてinfファイルとして保存します。
ですが、そのファイルを使用してインストールを行うと、
「INFに必要なセクションが見つかりませんでした。」と表示されるので、
infファイルを変更して使用したら、正常にインストールできました。
(1)[Version]カテゴリのClassを"Class=USB"に変更
(2)[Version]カテゴリのClassGuid"を"ClassGuid={36FC9E60-C465-11CF-8056-444553540000}"に変更
(3)[Version]カテゴリに"DriverVer=04/14/2008,1.0.0.0"を追加
(4)[SourceDisksFiles.NTamd64]カテゴリを[SourceDisksFiles.amd64]に変更
※(3)、(4)は必要ないかもしれません。
②ドライバパッケージの準備
インストールに必要なものとして、上記infファイルとは別に
"WdfCoInstaller01005.dll"、"WinUSBCoInstaller.dll"が必要です。
2つのモジュールはWindows Driver Kit(Windows Vista RTM)に含まれています。
(1)Windows Driver Kit(以下WDK)をインストールする。
(2)作成したinfファイルと同じパスに"i386"フォルダと"amd64"フォルダを作成する。
(3)WDKをインストールしてPCの"C:\WinDDK\6000\redist\wdf\i386\WdfCoInstaller01005.dll"を
(2)で作成した"i386"フォルダにコピーする。
※64ビット対応の場合は"i386"の部分を"amd64"に置き換え
(4)WDKをインストールしてPCの"C:\WinDDK\6000\redist\winusb\i386\WinUSBCoInstaller.dll"をコピーする
(2)で作成した"i386"フォルダにコピーする。
※64ビット対応の場合は"i386"の部分を"amd64"に置き換え
長々と手順を書いてしまいましたが、
考えられるのは、infファイル内の記述かドライバパッケージの不足で、
インストールが出来ていないと思いますので、
ご確認ください。
sagara
sagara さん、こんにちは。NORIです。
アドバイス、どうもありがとうございました。
(sagara さんの言われている修正は、試したつもりだったのですが・・・。)
今回、もう一度最初から sagara さんご指摘の部分に特に注意をし、修正後試したところ、
正常にインストールできたようです。
今までは、いろいろやってはみたものの、何かが間違っていたのでしょうね。
ありがとうございました。
次はアプリケーションからの制御を試してみようと思います。
どうもありがとうございました。
さて、sagara さんが投稿された日時ですが、このときはまだ、こちらで返信が確認できなかった
ような気がします。
ちょっと遅くなってしまいましたが、ありがとうございました。