sinking
驱动牛犊
驱动牛犊
  • 注册日期2003-08-18
  • 最后登录2006-02-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2167回复:12

请教:关于WDM驱动和NT式驱动的主要区别?

楼主#
更多 发布于:2004-02-17 16:45
我写了一个NT式的虚拟设备的驱动,在2000下能够正常工作了。但要把它移植到98下,是不是必须改成WDM的呢?哪些IRP是我必须增加的啊?是不是必须处理Adddevice, IRP_MJ_PNP? 请大侠指教!!!
nustzhua
驱动中牛
驱动中牛
  • 注册日期2002-06-19
  • 最后登录2015-09-27
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-02-18 09:23
这个好像不是那么简单就能改好的。

个人认为,基本上需要重写。
不限容量的免费邮箱 www.k65.net
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2004-02-18 09:32
如果硬件支持PNP,就改写为WDM,按WDM的处理方式,即可
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
sinking
驱动牛犊
驱动牛犊
  • 注册日期2003-08-18
  • 最后登录2006-02-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-02-18 10:49
关键是我写的是一个虚拟设备(虚拟读卡器)的驱动,没有实际硬件,它应该挂载在root总线下吧。我要求它开机后就一直挂载在系统下,没有对它的插拔。所以我一开始就写了个NT式的驱动。现在要移植到98下,不得不改成WDM的。我现在把原来在DriverEntry()中的CreateDevice部分,改在了AddDevice中,并且增加了IRP_MJ_PNP的处理函数(pnp处理函数里面就直接返回成功了,什么也没处理)。现在在设备管理器中能看到该设备。 但我没有看到AddDevice部分被调用。请问,对于这类虚拟设备,adddevice函数什么时候被调用啊?root总线传给它的物理设备对象又是什么啊?
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2004-02-18 11:00
在设备管理器中能看到该设备。 但我没有看到AddDevice部分被调用。
没有CREATEDEVICE的话,你如何能在设备管理器中看到设备???
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
sinking
驱动牛犊
驱动牛犊
  • 注册日期2003-08-18
  • 最后登录2006-02-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-02-18 13:22
Sorry,我对WDM的虚拟设备的驱动不熟。我的情况是这样的。由于是虚拟设备,我只能用控制面板的“添加/删除硬件”作为“其他设备”添加,在添加过程中,通过DriverMonitor看到,Adddevice被调用了。以后,比如重启系统时,是不是它就不会再被调用了?谢谢的帮助
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
6楼#
发布于:2004-02-18 17:05
系统会在启动的时候自动调用的。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
sinking
驱动牛犊
驱动牛犊
  • 注册日期2003-08-18
  • 最后登录2006-02-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-02-18 17:12
谢谢,我终于把问题解决了。
dregs
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2006-05-10
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-04-08 09:15
sinking超强 恭喜^_^
还是我
sinking
驱动牛犊
驱动牛犊
  • 注册日期2003-08-18
  • 最后登录2006-02-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-04-08 15:05
 :P,俺是菜鸟,wowocock才是超强。最近在做微软的whql测试驱动签名,NT的是不是铁定通不过啊。哪位大哥有经验。

BTW, 佛罗伦萨现在排第几啊?
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
10楼#
发布于:2004-04-08 15:13
靠,我才是菜鸟呢,whql测试驱动签名如何做的???介绍下??
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
sinking
驱动牛犊
驱动牛犊
  • 注册日期2003-08-18
  • 最后登录2006-02-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-04-08 18:02
就是微软的驱动签名阿。不签的的话,安装的时候不是会跳出提示,说此驱动未经微软数字签名。跑过微软的HCT测试工具就可以了。
dregs
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2006-05-10
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-04-08 18:20
两位都是超强 谦虚了 呵呵

至于whql 公司的产品有机会的话 自己亲自做一次就ok了
的确是挺头疼的测试。
××××××××××××××××××××××××××××××××
××××××××××××××××××××××××××××××××
佛罗伦萨现在意乙排名第七 ,但是很有升级希望的 ^_^
详见:
http://www.11players.net/dispbbs.asp?boardID=38&ID=58381
还是我
游客

返回顶部