he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1904回复:21

WDM开发初体验

楼主#
更多 发布于:2002-12-17 13:23
公司安排我学习WDM开发(VC功底还过得去),可我学了老半天,总搞不清这一大堆代码是怎样和硬件钩搭上的,是不是DDK本身就能钩通任何硬件,我们使用DDK来钩通硬件是不是就像使用API来钩通Windows一样?但我还是没想通!

请各位大虾伸出贵手,敲一下那再不用即将失灵的键盘,最好附上个大虾学习体验流程图......

十万火急,万分感激!
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
tigerzd
驱动老牛
驱动老牛
  • 注册日期2001-08-25
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-17 13:57
inf文件啊!
犯强汉者,虽远必诛! [img]http://www.driverdevelop.com/forum/upload/tigerzd/2002-12-13_sf10.JPG[/img]
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-17 14:38
只有driverentry系统自己找,
其它需要历程需要初始化(注册)
he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-18 12:24
如果用DriverStudio向导,所需填的那些数据(比如硬件的ID号)怎么获得?
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
Dragon2008
驱动中牛
驱动中牛
  • 注册日期2002-04-01
  • 最后登录2006-03-13
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-18 12:30
如果用DriverStudio向导,所需填的那些数据(比如硬件的ID号)怎么获得?

设计这个硬件的设计者能告诉你该设备的DID和VID的。
我姓龙,我属龙,我叫龙。。。
he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-18 12:34
谢谢,大侠
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-18 12:36
但这些ID能保证与其它硬件的ID不重复吗?
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
swallow1
驱动牛犊
驱动牛犊
  • 注册日期2002-11-22
  • 最后登录2003-03-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-12-18 15:19
设备的DID和VID是唯一的,你不设计硬件就写驱动程序呀!
he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-12-18 18:16
我的意思是一台电脑上的各种硬件很可能来自不同厂家,能保证不同厂家设计的不同硬件的VID和DID不重复吗?如果重复,在设计驱动程序时怎么解决这个问题?
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
lvwj
驱动老牛
驱动老牛
  • 注册日期2001-08-21
  • 最后登录2021-01-31
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望181点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2002-12-19 10:00
理论上说不能保证.
系统会提示用户,由用户决定装入那个厂家的驱动程序
www.bjjcz.com
he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-12-19 10:34
请问:

1、在DDK、WDM中,DriverEntry和AddDevice是只有在第一次安装驱动程序时执行,还是安装好后每次启动都会执行?还是其它方式?

2、IRP_MJ_CREATE            IRP_MJ_CLOSE
   IRP_MJ_READ              IRP_MJ_WRITE
   IRP_MJ_DEVICE_CONTROL    IRP_MJ_PNP
   IRP_MJ_POWER             IRP_MJ_SYSTEM_CONTROL
   以上它们的执行顺序有规则吗?大概是怎样的?


    __________________谢_谢_各_位_老_大__________________
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
Jkw_Dev
驱动中牛
驱动中牛
  • 注册日期2002-11-03
  • 最后登录2014-11-28
  • 粉丝0
  • 关注0
  • 积分82分
  • 威望28点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-12-19 11:05
请问:

1、在DDK、WDM中,DriverEntry和AddDevice是只有在第一次安装驱动程序时执行,还是安装好后每次启动都会执行?还是其它方式?

2、IRP_MJ_CREATE            IRP_MJ_CLOSE
   IRP_MJ_READ              IRP_MJ_WRITE
   IRP_MJ_DEVICE_CONTROL    IRP_MJ_PNP
   IRP_MJ_POWER             IRP_MJ_SYSTEM_CONTROL
   以上它们的执行顺序有规则吗?大概是怎样的?


    __________________谢_谢_各_位_老_大__________________

建议你先看一下Walter Oney的Programming the Microsoft Windows Driver Model里面详细介绍了这些东西

he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-12-19 11:41
那书内容太多,对我这个初学者来说简直是个庞然大物,或许是译得不太白话,加上足足6M多,不过我也会慢慢会析,需要大量时间和脑黄金
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
13楼#
发布于:2002-12-19 17:27
请问:

1、在DDK、WDM中,DriverEntry和AddDevice是只有在第一次安装驱动程序时执行,还是安装好后每次启动都会执行?还是其它方式?

2、IRP_MJ_CREATE            IRP_MJ_CLOSE
   IRP_MJ_READ              IRP_MJ_WRITE
   IRP_MJ_DEVICE_CONTROL    IRP_MJ_PNP
   IRP_MJ_POWER             IRP_MJ_SYSTEM_CONTROL
   以上它们的执行顺序有规则吗?大概是怎样的?


    __________________谢_谢_各_位_老_大__________________

1、DriverEntry在driver被load的时候执行。
发现新的device的时候就执行AddDevice。
2、当然要先create,最后close啦。看看DDK或Oney的书。
he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-12-19 18:36
我试着测试一个关于RamDisk的例子,我看也不是什么硬件方面的驱动程序,就是用内存来虚拟一个硬盘。我成功安完一次后,把它卸载掉,作适当修改(当然,有错),再安装,待还没安装完,就咔喳,在蓝屏陪伴下重新启动了,这次启动时,系统就说检测到新硬件(RamDisk),接下来就自动安装,显然,安到一半,又老调重弹、悲剧重演,重新启动了,One by one.不过,我在安全模式的帮助下,顺利脱险,接下来我就分析,但没搞懂。

没搞懂的是:
    1、检测到的是什么新硬件了?(我什么硬件也没添加啊)
    2、驱动程序也会被Win2000认为是新硬件吗?(我看就是软件嘛)
    3、是谁让那个“找到新硬件”忍不住露面了?

      _______________神_啦_救_救_我_吧_________________
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-12-20 13:46
这个问题我始终没搞懂,谁能帮帮我?(先谢了)
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
taitan
驱动牛犊
驱动牛犊
  • 注册日期2002-12-09
  • 最后登录2004-02-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-12-20 14:58
它应该是一个“虚拟硬件”啊,虽然它是软件。
he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-12-20 15:03
但是什么迹象让他启动时发觉的
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
taitan
驱动牛犊
驱动牛犊
  • 注册日期2002-12-09
  • 最后登录2004-02-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-12-20 15:18
inf文件或其他系统文件
he_x_p
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2005-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-12-20 15:31
是不是我第一次安装后,虽然卸载了,但在注册表中留下了引线
乘着梦的翅膀, 借助黎明时柔和的阳光, 化着一只自由自在的冲天鸟, 在有梦的地方潇洒地飞翔......
上一页
游客

返回顶部