chenglf
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2215回复:5

DDK程序编译成为。SYS文件后,如何装载进系统??

楼主#
更多 发布于:2002-04-11 13:05
大概的方法是:在HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\下建立你的设备的一个主键,名字和你的sys文件名相同(去掉扩展名)。在加上Type、start、ErrorControl、Group等键值。然后再把你的sys文件copy到system32目录下,重启机器系统会自动加载。或者编写一个安装程序写那几个注册表项,然后调用CreateService函数,这样不用重启也可。以后系统重启时系统也会自动加载。
/////////////////////////////////////
直接修改注册表,也可以!
还不会在系统设备管理里面看到设备,对于那些对异物敏感的客户可能有效,呵呵!

\\Registry\\Machine\\System\\CurrentControlSet\\Services\\ABCDEFG
Type = REG_DWORD 0x00000001
Start = REG_DWORD 0x00000002
DisplayName = \"myfilename\"
ErrorControl = REG_DWORD 0x0000001

这样就可以,自己写吧,只要把sys拷贝到 system32/drivers/即可
重新启动,哈哈,不是就ok了吗?



我已经照做了,可还是不行,请高手帮帮我啊!!
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-11 13:14
注册表项缺了一项:
加一项imagepath
键值:system32\\drivers\\abcdefg.sys
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-11 13:39
你的驱动程序可能有问题,很可能没有正确地建立符号连接名
请检查一下你的驱动程序代码,确定无误,然后你可以将Start设为3,在命令行下用net start yourdriver启动你的程序。 在此之前将驱动程序可执行文件用SoftIce 的 Loader32装入,并断点 DriverEntry.查看你的DriverEntry执行的正确性。
Tom_lyd
chenglf
驱动牛犊
驱动牛犊
  • 注册日期2002-04-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-12 08:03
这个SYS是人家提供给我的,用他提供的安装程序安装后是可以正确使用的,但是我现在用它进行开发后,想将它和我的应用程序一起做成一个安装包,但就是装不上去。以上注册表项是它的安装程序建立的,另外还有一项,但是我用REGEDIT既不能删除,也不能导入。其值为:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Enum\\Root\\LEGACY_abcd]
\"NextInstance\"=dword:00000001

[HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Enum\\Root\\LEGACY_DLPORTIO\\0000]
\"Service\"=\"abcd\"
\"Legacy\"=dword:00000001
\"ConfigFlags\"=dword:00000000
\"Class\"=\"LegacyDriver\"
\"ClassGUID\"=\"{8ECC055D-047F-11D1-A537-0000F8753ED1}\"
\"DeviceDesc\"=\"abcd I/O Driver\"
\"Capabilities\"=dword:00000000

[HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Enum\\Root\\LEGACY_DLPORTIO\\0000\\Control]
\"DeviceReference\"=dword:81888430
\"ActiveService\"=\"abcd\"

不知此项对其加载有无影响,又是如何建立的?
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-12 09:31
enum中的键值是被系统保护的,主要是为了启动时使用的,regedit只能看不能改,
其建立的过程是你在安装时由pnp管理器根据的你提供的inf文件建立的,你也可以在应用程序中使用setupXXX之类的函数建立,至于怎么用,我也在请教。:)
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
wlrwx
驱动小牛
驱动小牛
  • 注册日期2002-04-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望11点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-12 10:11
告诉你一个简单的办法吧,在DRIVERSTUDIO里面有一个叫DRIVERMONITOR的工具,你用这个工具来装入这个。SYS文件就可以了,我用过,发现非常方便,这样可以把驱动开发和调试的问题从INF的制作中分离出来
 :P :P :P
真正的浪子―――― 是掠过城市的微风,每个人都能感到他的清新,可没有人能留住...... 亦是划过天际的流星,所有人都能仰望他夺目的光芒,没有人能触及...... 风止于森林,流星损于黄土......非凡浪子归于他的最爱......
游客

返回顶部