punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
阅读:1762回复:13

NT驱动的入门问题请教!

楼主#
更多 发布于:2002-04-04 14:39

最近老板让我做一个NT的驱动程序,
不知道是不是和VXD一样也可以动态载入?如果可以,那要满足什么条件?
还有就是inf文件怎么编写,哪儿有这些最基本知识的资料?
不写inf文件行不行?
怎么安装NT驱动程序?

各位大侠,拜托了!
 :D

最新喜欢:

flyajiflyaji
不停学习
Xman
驱动大牛
驱动大牛
  • 注册日期2001-08-24
  • 最后登录2011-10-07
  • 粉丝0
  • 关注0
  • 积分343分
  • 威望127点
  • 贡献值0点
  • 好评度34点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-04 15:17
NT不支持vxd
[img]http://www.driverdevelop.com/forum/upload/Xman/2004-04-05_2004324183110706.jpg[/img]
punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-04 15:40
多谢!
我知道NT不支持vxd!
但是这和我要问的问题无关啊 :mad:
不停学习
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-04 15:48
去看filemon,那里就动态加载nt driver,这里好像有下。自己去看CreateService函数,在MSDN里
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-04 15:53

最近老板让我做一个NT的驱动程序,
不知道是不是和VXD一样也可以动态载入?如果可以,那要满足什么条件?
还有就是inf文件怎么编写,哪儿有这些最基本知识的资料?
不写inf文件行不行?
怎么安装NT驱动程序?

各位大侠,拜托了!
 :D


    NT的驱动程序可以动态载入,建议写成WDM的形式。老式的NT驱动程序被称为KMD,酷似WDM,但不支持PNP和电源管理。
    至于动态加载,我不知道你的确切意思,是指在应用程序中由特定的函数调用加载驱动程序还是指即用即用。我估计是前者。其实这很简单:驱动程序编写完成以后,需要在注册表中登记\"服务\"表项,还要至少三个子键Type,Start,ErrorControl,你不要启动时就加载,就需要将Start=3;其次,你必须把驱动程序可执行文件放到系统目录下:\\winnt\\system32\\drivers;然后,就剩下调用SCM(Service Control Manager)提供的函数来加载驱程序。

    INF文件的编写DDK中有详细的描述,如果你不讨厌阅读E文的话,可以用INF关键字在DDK文档中搜索相关描述。

Best regards !
Tom_lyd
punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-04 16:02
多谢各位高手!
我以前就只知道vxd可以用createfile动态加载,但是NT的sys好像不行,因为createfile用的是device在win32中的命名,必须要启动DriveEntry之后才能创建一个device,所以不知道怎么才能让计算机运行DriveEntry函数! :P
不停学习
punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-04-04 16:15
高手帮忙啊?
不停学习
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-04-04 16:17
建议你参考FILEMON例子,这个例子已经可以解决的问的几个问题了,本站有的下载
这个例子是动态加载的
这个例子可以没有INF文件
动态加载就不存在安装的问题了,因为加载的时候已经安装了 :)
punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-04-04 16:41
我怎么检索不到FILEMON啊?
不知道它属于哪一类? :(
不停学习
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-04-04 16:47
自己去看MSDN,看函数CreateService,和关于SCM的东西。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-04-04 17:16
可以去www.sysinternals.com下载FILEMON
Tom_lyd
punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-04-04 18:59
各位兄弟,分怎么加啊? :)
不停学习
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-04-04 20:54
在你的第一个帖子有一个加分的按钮,点它就知道啦!给俺多一点吧!让俺攒足了在放给你,呵呵多好啊! :D :D :D
blue
驱动大牛
驱动大牛
  • 注册日期2001-04-25
  • 最后登录2010-10-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望12点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-04-05 08:40
你是要在内核层动态加载还是要在应用层动态加载?
若是应用层你可以参看 NTDDK\\SRC\\general\\setup 的例子;
内核层就按楼上的吧。
游客

返回顶部