阅读:2812回复:5
关于INF安装驱动程序的几个问题
我是个新手,问的问题可能比较幼稚,望不吝赐教。
下面是我安装USB驱动程序的INF文件,安装时老说指定位置 不到硬件信息,我的问题是: 1. ClassGUID是不是用GuidGen随便产生一个就行? 2. 硬件ID是如何确定的?这里我随便给了一个。 3. 是不是还有其他问题? 谢谢大家! ;; Ut.inf ;--------- Version Section -------------- [Version] Signature="$CHICAGO$" Provider=%ProviderName% Class=NewDeviceClass ClassGUID={ff646f80-8def-11d2-9449-00105a075f6b} ;--------- SourceDiskNames and SourceDiskFiles Section ---- [SourceDisksNames] 1 = "Install Disk",Disk1,, [SourceDisksFiles] Ut.sys = 1,, ;--------- ClassInstall/ClassInstall32 Section ------------ ; 9X Style [ClassInstall] Addreg=Class_AddReg ; NT Style [ClassInstall32] Addreg=Class_AddReg [Class_AddReg] HKR,,,,%DeviceClassName% HKR,,Icon,,"-18" ;--------- DestinationDirs Section ------------------------- [DestinationDirs] Ut_Files_Driver = 10,System32\Drivers ;--------- Manufacturer and Models Sections --------------- [Manufacturer] %MfgName%=Mfg0 [Mfg0] %DeviceDesc%=Ut_DDI, USB\VID_0400&PID_0010 ;---------- DDInstall Sections --------------------------- ; --------- Windows 9X ----------------- [Ut_DDI] CopyFiles=Ut_Files_Driver AddReg=Ut_9X_AddReg [Ut_9X_AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,EVK9602.sys HKR, "Parameters", "BreakOnEntry", 0x00010001, 0 ; --------- Windows NT ----------------- [Ut_DDI.NT] CopyFiles=Ut_Files_Driver AddReg=Ut_NT_AddReg [Ut_DDI.NT.Services] Addservice = Ut, 0x00000002, Ut_AddService [Ut_AddService] DisplayName = %SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%\System32\Drivers\EVK9602.sys [Ut_NT_AddReg] HKLM, "System\CurrentControlSet\Services\Ut\Parameters",\ "BreakOnEntry", 0x00010001, 0 ; --------- Files (common) ------------- [Ut_Files_Driver] EVK9602.sys ;--------- Strings Section ------------------------------- [Strings] ProviderName="123" MfgName="12345" DeviceDesc="asdfasdf" DeviceClassName="afsdefas" SvcDesc="9602EVK" |
|
沙发#
发布于:2001-07-11 18:29
1)classGUID 不是随便定义的,在这里,应该是USB设备类。
2)另外,硬件ID,厂商ID不能随便给,一定要和你的设备上的硬件ID,厂商ID相匹配,难怪你安装是提示找不到硬件信息! 3)你定义了一个新的设备类,是可以的,但这种定义方式98,ME中可以用,2000中就不可以这样了,必须这样: [CONTROLFLAG] EXCLUDEFROMSELECT=*** |
|
板凳#
发布于:2001-07-11 21:08
Thank you very much!
现在还没重试,不过硬件ID不知道怎么可以获得? 我曾经用USBCheck试过,感觉不对。 另:这个网站对我帮助很大,我在论坛上看见好几个我也碰到 过的问题,看了一些解答,感觉茅塞顿开,谢谢你们! |
|
地板#
发布于:2001-07-13 10:27
1)classGUID 不是随便定义的,在这里,应该是USB设备类。
是的,具体我没有试过,但是大致是这样的,如果用了已经有的 classGUID,比如我的设备是USB,但是我用的classGUID是显示器的, 那么在控制面板上,就回在显示器图标下出现安装的设备,设备名, 则需要INF另行指定。如果用GUIDGEN产生,那么都是在“未知设备” 图标下出现。没有具体做过,试试便知。 2)另外,硬件ID,厂商ID不能随便给,一定要和你的设备上的硬件ID,厂商ID相匹配,难怪你安装是提示找不到硬件信息! 是的,安装驱动程序,就是根据硬件那里返回的信息,PID,VID, 还有就是硬件的接口信息(这个好象用到不是太多) 3)你定义了一个新的设备类,是可以的,但这种定义方式98,ME中可以用,2000中就不可以这样了,必须这样: [CONTROLFLAG] EXCLUDEFROMSELECT=*** 我这个倒没用到过,请详细说明一下,谢谢。 |
|
|
地下室#
发布于:2001-07-18 12:00
VID和PID很容易知道啊,如果用WINDRIVER,直接在设备选项里就有了。如果没有什么工具,在系统检测到设备以后,去看一下注册表就知道了。在HKEY_LOCAL_MACHINE\Enum\USB\下面。
|
|
5楼#
发布于:2001-07-27 10:58
现在安装成了。
我开始给的硬件ID为USB\VID_0400&PID_0010 安装时会告诉我驱动程序不是为这个硬件设计的(大意) 也可以强行安装好象也没什么问题。 后来用NTDDK的一个工具USBVerify查出硬件ID为USB\VID_0400&PID_0007 修改以后安装成功。 谢谢大家帮助!! |
|