如何将驱动程序加载到系统上!

sean 2000-06-23 09:17:00
我手里有了驱动程序 ..sys和.inf安装信息
请问我如何将此驱动程序加载到系统上!、
要将文件拷到哪个目录下,同时注册表中需要哪些处理?
请尽量详细一些!
谢谢!
.inf的内容如下:
Version]
Signature="$CHICAGO$"
Class=USB
provider=%Rainbow%

[SourceDisksNames]
1=%DiskName%,,1

[SourceDisksFiles]
RNBTOKEN.SYS

[Manufacturer]
%Rainbow%=Rainbow

[Rainbow]
%USB\VID_04B9&PID_1000.DeviceDesc%=RNBTOKEN, USB\VID_04B9&PID_1000

[PreCopySection]
HKR,,NoSetupUI,,1

[DestinationDirs]
RNBTOKEN.SysCopy = 10,System32\Drivers

[RNBTOKEN]
CopyFiles=RNBTOKEN.SysCopy
AddReg=RNBTOKEN.AddReg

[RNBTOKEN.NT]
CopyFiles=RNBTOKEN.SysCopy
AddReg=RNBTOKEN.AddReg.NT

[RNBTOKEN.NT.Services]
Addservice = RNBTOKEN, 0x00000002, RNBTOKEN.AddService

[RNBTOKEN.AddService]
DisplayName = %RNBTOKEN.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 2 ; SERVICE_AUTO_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\RNBTOKEN.SYS
LoadOrderGroup = Base

[RNBTOKEN.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,RNBTOKEN.SYS

[RNBTOKEN.AddReg.NT]

[RNBTOKEN.SysCopy]
RNBTOKEN.SYS

[Strings]
Rainbow="Rainbow Technologies Inc."
DiskName="Rainbow Technologies iKey Installation Disk"
USB\VID_04B9&PID_1000.DeviceDesc="Rainbow Security Token"
RNBTOKEN.SvcDesc="Rainbow Security Token"
...全文
1473 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
greenman 2000-07-27
  • 打赏
  • 举报
回复
系统运行后放在注册表的系统子树即HKEY_LOCAL_MACHINE下,结束系统所有驱动
载入。NTLDR,OSLOADER和I/O管理都得到SYSTEM子树的内容。去确定那些驱动需要加载
和每个驱动何时将初始化。
每一个设备键值在注册表节点
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services 有一个有意义的入口
叫Start,其值指定在系统初始化进程是当特定的驱动加载时。
1。start=0在第二步由NTLDR OSLOADER加载驱动
2。start=1在第五步由I/O MANAGE加载驱动
3。start=2由Service Controller manage加载驱动
4。start=3使用手动加载。
5。start=4禁用。不允许加载
当所有的驱动都加载后。I/O MANAGE自动调用其DrriverEntry历程
当每个设备建立时,驱动将建立一个于HKEY_LOCAL_MACHINE\Hardware\DeviceMap
下相应设备对象同名的通信入口
DeviceMap下的键值和入口都是不稳定的,每次机器重新引导都将按游I/Omanage
初始化的驱动改写,因为两者都是描述计算机设备的逻辑名。
1。2。4设备控制初始化,步骤8。
在这一步中。设备控制器将载入所有Srtart值为2的驱动。这些驱动将在控制面板
的状态中显示为自动。。这些驱动将按次序加载。具体信息请见Controlling
Driver Load Order.
sean 2000-07-27
  • 打赏
  • 举报
回复
哪位高手知道!
谢谢!
sean 2000-07-20
  • 打赏
  • 举报
回复
如何使设备立刻启动!
sean 2000-07-17
  • 打赏
  • 举报
回复
请参与!
sean 2000-07-11
  • 打赏
  • 举报
回复
那位朋友知道,在NT下如何解决这个问题!
谢谢!
sean 2000-07-11
  • 打赏
  • 举报
回复
注册表中的所有数据都设置好了,为何设备并不能立即启动,
必须在设备管理中刷新一次,方能生效!
请问如何在安装设备驱动之后使设备立即启动!
谢谢各位!
sean 2000-07-07
  • 打赏
  • 举报
回复
那位朋友知道,在NT下如何解决这个问题!
谢谢!
sunsetyang 2000-07-01
  • 打赏
  • 举报
回复
把意思说清楚:
这个安装文件将在:HKLM\system\currentcontrolset\services\class\ 创建一个usb的键值,然后相应的创建各个域。和dark的合上,就可以完成程序手动安装了。
dark 2000-06-26
  • 打赏
  • 举报
回复
我刚好编了一个相似的程序,inf文件可以直接调用windows的命令安装,这与选中inf文件在右键菜单中执行的安装命令是一样的,但右键中执行的是default段,在你上面的文件中没有此段,所以直接执行将无结果。
考虑用以下方法,首先判断系统是95还是NT,是NT就执行
rundll32.exe setupapi,InstallHinfSection
RNBTOKEN.NT 132 %SystemRoot%\System32\you.inf
语句,表示的意思是使用RNBTOKEN.NT段进行安装,如果是95就执行
rundll32.exe setupapi,InstallHinfSection
RNBTOKEN 132 %SystemRoot%\System32\you.inf语句。
这样就会直接完成安装。
在使用上面的方法中会出现无法写入注册表的问题,只完成的文件的拷贝,我也不太清楚是什么原因,按照资料介绍是不会发生这样的情况,你可以试一试。有问题email给我darktang@etang.com
sunsetyang 2000-06-26
  • 打赏
  • 举报
回复
看一下关于inf文件的组织的材料,在DDK的文档中有。
我稍微看了一下:
要做的事情如下:
在9x下:
1)将rnbtoken.sys复制到%win%\system\drivers目录下
2)在注册表的rainbow的设备下添加:DevLoader,NTMPDriver
在nt下:
1)复制到目录\%systemroot%\drivers\目录下
2)在注册表的service中添加这些域的值:
DisplayName ;在服务控制器中显示的内容
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 2 ; SERVICE_AUTO_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary ;指明驱动的文件
LoadOrderGroup ;依赖的组

半宫佳丽 2000-06-23
  • 打赏
  • 举报
回复
我也想知道。。。如果有答案,请通知我,谢谢!
sean 2000-06-23
  • 打赏
  • 举报
回复
请高手指教!
谢谢

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧