Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1490回复:12

初学者问题:关于AddDevice例程

楼主#
更多 发布于:2002-06-02 21:56
请教:
    驱动程序应该在何时建立设备,是在DriverEntry例程是还是在AddDevice例程中?它们之间有什么区别吗?还有DriverEntry例程和AddDevice例程中的PDRIVER_OBJECT参数是相同的吗?

最新喜欢:

flyingflying
易水
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-02 22:37
一样的,创建设备的时候要记得把刚刚创建的设备初始化标志清除掉
lu0
lu0
论坛版主
论坛版主
  • 注册日期2001-06-10
  • 最后登录2016-04-05
  • 粉丝2
  • 关注0
  • 积分-6311分
  • 威望21111点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-03 18:37
区别是如果你提供ADDDEVICE历程, OS认为你是个WDM的DRIVER. 否则,认为是过时的DRIVER.
Regards, Lu Lin Webmaster of Inside Programming http://www.lu0s1.com
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-06-04 10:09
请教:
    驱动程序应该在何时建立设备,是在DriverEntry例程是还是在AddDevice例程中?它们之间有什么区别吗?还有DriverEntry例程和AddDevice例程中的PDRIVER_OBJECT参数是相同的吗?

一般来说,符合标准WDM模型的都需要提供AddDevice例程,KMD则不需要。
如果需要支持PNP或电源功能,都需要提供AddDevice例程;服务于真实硬件或作为一个硬件的过滤驱动也要提供该例程;文件系统及其过滤驱驱不是标准WDM驱动程序,不需要提供AddDevice例程。
Tom_lyd
Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2002-06-05 09:11
感谢两位版主,兄弟我明白了:) :o
易水
Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2002-06-06 09:02
再问:
那AddDevice例程的PDRIVER_OBJECT和PDEVICE_OBJECT这两参数分别是什么意义呢?
易水
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2002-06-06 09:10
一个是你的Driver对象,在DriverEntry里面系统给你的。
一个是你要create的Device对象,你要create它,然后保存。
Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2002-06-06 22:14
PDEVICE_OBJECT参数的说明是物理设备那它和我建立的DEVICE_OBJECT之间有什么关系呢?
易水
Alexander
驱动大牛
驱动大牛
  • 注册日期2002-02-04
  • 最后登录2005-06-16
  • 粉丝0
  • 关注0
  • 积分-5分
  • 威望-1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-06-07 02:01
你建的是逻辑设备,在设备栈里位于物理设备的上层.
Ares
驱动小牛
驱动小牛
  • 注册日期2001-03-28
  • 最后登录2020-04-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望114点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2002-06-07 09:00
那在DriverEntry中建立的设备就没有物理设备咯?是不是就是说在DriverEntry中建立的就是物理设备呢?

在下初学这个,问得很笨,请原谅 :D
易水
dregs
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2006-05-10
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-04-09 14:35
区别是如果你提供ADDDEVICE历程, OS认为你是个WDM的DRIVER. 否则,认为是过时的DRIVER.

2000及以后的系统下的驱动
最好是WDM的。
pnp manager会调用我们的AddDevice例程。
所有的资源分配 应该在pnp处理例程中来完成。
am i right??
还是我
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
11楼#
发布于:2004-04-09 14:41
这么老的帖子都翻出来,真服了你。。。。。。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
dregs
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2006-05-10
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-04-09 17:58
帖子是老的
我学习的心是年轻的 :D
BTW
佛罗伦萨升级的趋势是不可阻挡的
还是我
游客

返回顶部