2010年02月25日

WinUSB を使おう4~Infファイル編(1)~

最大の難所がやってまいりました。
Driver開発の難所infファイルでございます。
もちろんバイブル「WinUsb_howto.docx」にも例が載っています。
しかし、ちょっと間違うとうまくインストールできない代物になります。

とりあえず「WinUsb_howto.docx」の例を引き合いにだして
太字が変更可能なところなのですが。。。
まずは[Version]セクション

[Version]

Signature = "$Windows NT$"

Class = MyDeviceClass ・・・・(1)

ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171}・・・・(2)

Provider = %ProviderName%・・・・(3)

CatalogFile=MyCatFile.cat・・・・(4)

DriverVer   = ,1.0.0・・・・(5)


; ================== Class section ==================

 

[ClassInstall32]

Addreg=MyDeviceClassReg

 

[MyDeviceClassReg]

HKR,,,0,%ClassName%

HKR,,Icon,,-1

 


(1)ここはWindowsのディバイスマネージャーが認識するClassです

USBって何で書いちゃだめかって?
たぶん書いてもいいです。
でもその場合は(2)のClassGuidは予約されているGUIDを記載しなければいけません。その理由はここです。

(2)は(1)とセットで連動しているGUIDです。
自分で勝手につけたClass名には新しくGUIDが必要になります。
GUIDを新規に生成するには「GUIDGEN.exe」 等ツールを活用します。

(3)は製造元です。ここでは「%ProviderName%」になっています。
これは[String]セクションで「ProviderName」に定義した文字列
という意味なので、[String]セクションを参照してください。

(4)はドライバのセキュリティカタログファイル名です。デジタル署名のファイルなどを格納すると思います。(やっていないので仮定です)
もしも必要ならばこちらでMS様のロゴ申請して入手してください。
ちなみになくてもドライバインストール時に警告されるだけです。

(5)バイブルの(例)には載っていなかったので追記します。
driver0
ここの[日付]と[バージョン]に反映されます。
フォーマット  DriverVer=mm/dd/yyyy[,w.x.y.z]
バージョンのみ DriverVer   = ,1.0.0
日付のみ    DriverVer   = 02/25/2010
という風に記載します。


長くなったのでとりあえずInfファイル編(2)に続きます。

ayuthky_m at 13:53│ WinUSB | driver