chudd
驱动牛犊
驱动牛犊
  • 注册日期2003-07-02
  • 最后登录2010-09-21
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望20点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:1528回复:8

用INF文件安装驱动程序,但驱动程序却没有被拷备到正确的文件夹中?

楼主#
更多 发布于:2003-10-02 20:16
在WIN2K下,用geninf.exe生成的INF文件安装驱动程序,但驱动程序在安装过程中却没有被自动拷备到正确的文件夹中(winnt\\system32\\drivers),是什么原因?
谢谢!

[编辑 -  10/2/03 by  chudd]
yyx_200
禁止发言
禁止发言
  • 注册日期2001-12-24
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分72283分
  • 威望361771点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-03 09:35
用户被禁言,该主题自动屏蔽!
chudd
驱动牛犊
驱动牛犊
  • 注册日期2003-07-02
  • 最后登录2010-09-21
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望20点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-03 23:38
; driv.inf
;
; Installation file (.inf) for the driv device.
;
; (c) Copyright 2003 abcd
;

[Version]
Signature=\"$Windows NT$\"
Provider=%L.d%
ClassGUID={4d36e967-e325-11ce-bfc1-08002be10318}
Class=DiskDrive
CatalogFile=driv.cat
DriverVer=10/02/2003

[DestinationDirs]
DefaultDestDir   = 12

;
; Driver information
;

[Manufacturer]
%L.d%   = L.d.Mfg

[L.d.Mfg]
%L.d.DeviceDesc0% = driv, PCI\\VEN_1234&DEV_2345&SUBSYS_34564567


;
; General installation section
;

[driv]

;
; File sections
;


;
; Service Installation
;

[driv.Services]
AddService = driv, 0x00000002 , driv_Service_Inst, driv_EventLog_Inst

[driv_Service_Inst]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
LoadOrderGroup = Pointer Port
ServiceBinary  = %12%\\driv.sys


[driv_EventLog_Inst]
AddReg = driv_EventLog_AddReg

[driv_EventLog_AddReg]
HKR,,EventMessageFile,0x00020000,\"%SystemRoot%\\System32\\IoLogMsg.dll;%SystemRoot%\\System32\\drivers\\driv.sys\"
HKR,,TypesSupported,0x00010001,7




;
; Source file information
;

[SourceDisksNames.x86]
1 = %DiskId1%,,,\"\"

[SourceDisksFiles]
; Files for disk abcd Installation Disk #1 (DiskDrive)
Driv.sys = 1,,


[Strings]

;
; Non-Localizable Strings
;

REG_SZ         = 0x00000000
REG_MULTI_SZ   = 0x00010000
REG_EXPAND_SZ  = 0x00020000
REG_BINARY     = 0x00000001
REG_DWORD      = 0x00010001
SERVICEROOT    = \"System\\CurrentControlSet\\Services\"

;
; Localizable Strings
;

L.d.DeviceDesc0 = \"driv\"
DiskId1 = \"abcd Installation Disk #1 (DiskDrive)\"
L.d = \"abcd\"
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-10-04 18:04
没有CopyFile
chudd
驱动牛犊
驱动牛犊
  • 注册日期2003-07-02
  • 最后登录2010-09-21
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望20点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-04 21:24
1。这个INF文件是geninf.exe生成的,不知如何让它自动生成copyfile呀?
2。我如果将SYS手动拷备到DRIVERS文件夹中可以吗?
3。我用WINOBJ在DRIVERR中看到了自己设备的名称,是否表明设备已成功添加了?
谢谢!



[编辑 -  10/4/03 by  chudd]
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-10 15:17

[DestinationDirs]
DrvTest_Files_Driver = 10,System32\\Drivers

[DrvTest_DDI.NT]
CopyFiles=DrvTest_Files_Driver
AddReg=DrvTest_NT_AddReg

[DrvTest_DDI.NT.Services]
Addservice = DrvTest, 0x00000002, DrvTest_AddService

[DrvTest_AddService]
DisplayName    = %SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\\System32\\Drivers\\DrvTest.sys

[DrvTest_Files_Driver]
DrvTest.sys


刚才那几条用于把文件弄到指定的目录注意[DrvTest_Files_Driver]前面的引用和最后的定义。文件是你自己的要考的文件,这里只是示例。

我先说你的第三个问题你的文件没在system32\\driver下,应该不会有你创建的设备,因为你的代码没执行,那么,如果你的硬件设备是bios自检出来的,win找得到,有可能创建一个东西,这点我不能肯定,你自己试验试验
第二个问题,如果你的inf其它无误,可以手动拷.sys过去,没问题,不过你需要确定.inf是否真的把注册表填好了,否则执行可能有问题。
第一个问题geninf没用过,不能回答,你有什么经验给大家谈谈三:)
根据地的兄弟们,团结就是力量
chudd
驱动牛犊
驱动牛犊
  • 注册日期2003-07-02
  • 最后登录2010-09-21
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望20点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-10-10 16:37
谢谢!
我是个初学者,还想问一下:
自己写一段驱动,用这个INF文件安装时,需要选择了设备(如:other--端口设备),它就把这个设备当作了端口设备,并给它一个COM3的名子;但用别的INF安装时不需要选择设备,它自动会有个名子,不知这个是INF的那个项设置的?
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-10-13 20:11
这个东西我也有点儿麻杂,你需要自己实验一下:)
对于你添加的驱动的类,可以自己定义一个CLASS NAME:
[Class_AddReg]
HKR,,,,%DeviceClassName%
HKR,,Icon,,\"-5\"

ICON是你用的图标,系统默认的,你可以选,那个CLASSNAME选系统预定义的系统就会把你的驱动归为它的默认类,自己定义可以用WIN下面的一个生成器生成一个GUID,名字我忘了反正是生成一个可用的GUID,然后如下定义

Class=FantasyRoomClass
ClassGUID={ff646f80-8def-11d2-9449-00105a075f6b}
上面是我用的



根据地的兄弟们,团结就是力量
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-10-13 22:40
不好意思,刚才弄东西才发现那个生成GUID的工具叫GUIDGEN.EXE,是SDK的BIN下面的一个应用:)对不起各位
根据地的兄弟们,团结就是力量
游客

返回顶部