sailor_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2270回复:25

编程实现驱动程序的自动加载

楼主#
更多 发布于:2003-01-11 11:19
请问如何编程实现自己写的驱动程序的自动加载?请高手指教
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-01-11 11:25
用SCM,Service Control Manager
sailor_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-01-11 20:29
我知道用SCM,我把驱动程序拷贝到了system32下,然后startservice的时候报告找不到驱动程序,但用monitor启动一下后,驱动程序就可以用我自己写的代码启动了,请问这是什么原因呀?我都被弄胡涂了
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-01-12 14:24
服务的项目在注册表里维护,关于这个注册表的项目你可以用CreateService添加也可以直接导入或修改注册表,这样你才可以在后面StartService,StopService,也可以用DeleteService删除,不过这种方式就适用于NT Kernel Driver。
sailor_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-01-12 15:25
能详细点说明应该添加什么键值吗?我是初学者,不太懂,请高人指教
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-01-12 18:07
给你看个例子吧:

[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\FileDisk]
\"ErrorControl\"=dword:00000001
\"Start\"=dword:00000003
\"Type\"=dword:00000001

这个是filedisk的,导入这些个键值或者调用CreateService都可以添加服务,全部在程序中实现且退出程序就卸载驱动不留痕迹就用CreateService + DeleteService MSDN里有的
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-01-12 18:25
http://www.driverdevelop.com/forum/viewthread.php?tid=4055

嗯...原来讨论过
sailor_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-01-12 22:53
我试了一下filedisk的,不知道为什么报了一个错误ERROR_SERVICE_DISABLED,请问是我的那个服务被禁止了还是我的注册表写的不对呀?
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-01-12 22:58
你要有驱动文件并且在winnt\\system32\\drivers目录里才行,
另外也可以用imagepath键值的

这里有原汁原味的filedisk
http://www.acc.umu.se/~bosse/
sailor_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-01-12 23:02
我是拷贝到/winnt/system32/driver下了,但不知道为什么还是报那个错误,
sailor_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-01-12 23:03
还有我修改了imagepath到指定的目录,还是报那个错误,
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-01-12 23:09
那你用net start filedisk可以启动服务么?
sailor_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-01-12 23:14
不行,报的还是那个错误,服务禁用或关联的设备没有启动,为什么会这样呀?
sailor_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-01-12 23:18
是不是2000系统服务管理的事呀?
非常感谢你这么热心的解答我的问题,真的很感动
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-01-12 23:25
没什么的,正好在线,呵呵

要正确启动就要两条:服务项目正确(3:DEMAND_START),驱动文件就位,你该不会是用的驱动有问题吧,编译一个checked版本用debugView之类的软件跟踪一下DbgPrint看看?
sailor_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2003-01-12 23:34
驱动应该没有问题,在两台机器上试过了,一台通过,而另一台通不过,注册表的值是我通过成功的那台导出的,我试这拷贝驱动到system32/driver下,或指定imagepath的路径,均没有成功,我想驱动应该没有问题
sailor_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2003-01-12 23:39
还有什么叫服务项目正确呀?我不太懂
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2003-01-12 23:40
分特,两台机器环境不一样?都是administrator权限登录么?呵呵
sailor_2002
驱动牛犊
驱动牛犊
  • 注册日期2002-04-24
  • 最后登录2004-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2003-01-12 23:44
当然,两台机器都是管理员权限的
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2003-01-12 23:48
如果确认两台机器用的同样的*.sys,注册表里的内容也完全一致的话那就不好说了 :P
上一页
游客

返回顶部