2010年02月25日

WinUSB を使おう7~Infファイル編(4)最終~

たどり着いた最終章

; ================= Source Media Section =====================

[SourceDisksNames]
1 = %DISK_NAME%,,,\i386
2 = %DISK_NAME%,,,\amd64
3 = %DISK_NAME%,,,\ia64

[SourceDisksFiles.x86]
winusbcoinstaller2.dll=1
WdfCoInstaller01009.dll=1
WUDFUpdate_01009.dll=1

[SourceDisksFiles.NTamd64]
winusbcoinstaller2.dll=2
WdfCoInstaller01009.dll=2
WUDFUpdate_01009.dll=2

[SourceDisksFiles.ia64]
winusbcoinstaller2.dll=3
WdfCoInstaller01009.dll=3
WUDFUpdate_01009.dll=3 ・・・(1)
; =================== Strings ===================

[Strings]
ProviderName="MyWinUsbTest"
・・・(2)
USB\MyDevice.DeviceDesc="Test using WinUSB only" ・・・(3)
WinUSB_SvcDesc="WinUSB Test"
DISK_NAME="My Install Disk"
ClassName="MyDeviceClass" ・・・(4)

やっと完了。
[Source]セクション
(1)は先ほど準備したDLLたちの格納先を示しています。
[String]セクション
やっとここの説明ですね
今まで出てきた「%%文字列%%」はここで定義されているのです。

(2)ずばりディバイスマネージャーで[プロバイダ名]として出力する箇所です。
(3)このDriverの名称です。狭義の意味ではWinUSB Driverなんですけどね。このInfファイルも含めて広義の意味で自分で名前をつけられます(えっへん!)
(4)これが
ディバイスマ ネージャーで表示されちゃうClass名です。

その他Stringもレジストリエディタで表示されたりする名称だったりします。

やっとinfファイルから開放されました。


ayuthky_m at 16:21|PermalinkComments(0)TrackBack(0)driver | WinUSB

WinUSB を使おう6~Infファイル編(3)~

WinUSBのインストールを設定する部分にきました。
[Installation]セクション
どうやらこのinfファイルからwinusb.infをさらにインクルードしてますね。

; =================== Installation ===================

[USB_Install]

Include=winusb.inf

Needs=WINUSB.NT

 

[USB_Install.Services]

Include=winusb.inf

AddService=WinUSB,0x00000002,WinUSB_ServiceInstall

 

[WinUSB_ServiceInstall]

DisplayName     = %WinUSB_SvcDesc%

ServiceType     = 1

StartType       = 3

ErrorControl    = 1

ServiceBinary   = %12%WinUSB.sys

 

[USB_Install.Wdf]

KmdfService=WINUSB, WinUsb_Install


[WinUSB_Install]

KmdfLibraryVersion=1.9 ・・・(1)

 


[USB_Install.HW]

AddReg=Dev_AddReg

 

[Dev_AddReg]

HKR,,DeviceInterfaceGUIDs,0x10000,"{b35924d6-3e16-4a9e-9782-5524a4b79bac}"・・・(2)

 

[USB_Install.CoInstallers]

AddReg=CoInstallers_AddReg

CopyFiles=CoInstallers_CopyFiles

 

[CoInstallers_AddReg]

HKR,,CoInstallers32,0x00010000,""WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller.dll"

・・・(3)

[CoInstallers_CopyFiles]

winusbcoinstaller2.dll
WdfCoInstaller01009.dll
WUDFUpdate_01009.dll


・・・(4)

[DestinationDirs]

CoInstallers_CopyFiles=11

1)ここは入手したDDKに入っているWDFのVersionを記載します。今回入手したDDK Ver7600.16385.0では1.9版です


(2)は構成編で説明したUSER.DLLで紐付けするDeviceInterfaceGUIDになります。これは新規にGUIDを生成する必要があります。そんな説明はこちらに詳しく記載してあります。


(3)ここはWDFのVersionを修正します。

(4)重要なのはここです。
「WinDDK/BuildNumber/redist/winusb」に入っているDLLの名称
「WinDDK/BuildNumber/redist/wdf 」に入っているDLLの名称を書きます。

この記事記載時は7600.16385.0では
winusbcoinstaller2.dll
WdfCoInstaller01009.dll
WUDFUpdate_01009.dll

となります。
三番目のはどうやらWDFに含まれるUMDFのUPDATEらしいので
必要になります。






ayuthky_m at 15:29|PermalinkComments(0)TrackBack(0)driver | WinUSB

WinUSB を使おう5~Infファイル編(2)~

続き
[Manufacturer]セクション
[Models]セクション

; ========== Manufacturer/Models sections ===========

 

[Manufacturer]

%ProviderName% = MyDevice_WinUSB,NTx86,NTamd64,NTia64・・・(1)

 

[MyDevice_WinUSB.NTx86]

%USB\MyDevice.DeviceDesc% =USB_Install,USB\VID_0547&PID_1002

 

[MyDevice_WinUSB.NTamd64]

%USB\MyDevice.DeviceDesc% =USB_Install,USB\VID_0547&PID_1002

 

[MyDevice_WinUSB.NTia64]

%USB\MyDevice.DeviceDesc% =USB_Install,USB\VID_0547&PID_1002

 

・・・(2)

この記述の仕方は

(1)インストールする対応機器を記載してる[Manufacturer]セクションにあたる

(2)使用するDeviceのベンダーIDとプロダクトIDを記載する箇所です。
三つありますが記載している内容はすべて一緒です。
[Models]セクションにあたるのかな?

%ProviderName%」と「%USB\MyDevice.DeviceDesc%」に関して後述する[String]セクションの定義ですのでそのときに。

InfファイルはこのベンダーIDとプロダクトIDでDeviceを認識しているといっても過言ではないです。


このあとがWinUSBのインストールの記載になりますinfファイル編(3)


ayuthky_m at 15:19|PermalinkComments(0)TrackBack(0)driver | WinUSB