winUSB.sysについて

お世話になります。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 さんが投稿された日時ですが、このときはまだ、こちらで返信が確認できなかった
ような気がします。
ちょっと遅くなってしまいましたが、ありがとうございました。