阅读:1904回复:21
WDM开发初体验
公司安排我学习WDM开发(VC功底还过得去),可我学了老半天,总搞不清这一大堆代码是怎样和硬件钩搭上的,是不是DDK本身就能钩通任何硬件,我们使用DDK来钩通硬件是不是就像使用API来钩通Windows一样?但我还是没想通!
请各位大虾伸出贵手,敲一下那再不用即将失灵的键盘,最好附上个大虾学习体验流程图...... 十万火急,万分感激! |
|
|
沙发#
发布于:2002-12-17 13:57
inf文件啊!
|
|
|
板凳#
发布于:2002-12-17 14:38
只有driverentry系统自己找,
其它需要历程需要初始化(注册) |
|
地板#
发布于:2002-12-18 12:24
如果用DriverStudio向导,所需填的那些数据(比如硬件的ID号)怎么获得?
|
|
|
地下室#
发布于:2002-12-18 12:30
如果用DriverStudio向导,所需填的那些数据(比如硬件的ID号)怎么获得? 设计这个硬件的设计者能告诉你该设备的DID和VID的。 |
|
|
5楼#
发布于:2002-12-18 12:34
谢谢,大侠
|
|
|
6楼#
发布于:2002-12-18 12:36
但这些ID能保证与其它硬件的ID不重复吗?
|
|
|
7楼#
发布于:2002-12-18 15:19
设备的DID和VID是唯一的,你不设计硬件就写驱动程序呀!
|
|
8楼#
发布于:2002-12-18 18:16
我的意思是一台电脑上的各种硬件很可能来自不同厂家,能保证不同厂家设计的不同硬件的VID和DID不重复吗?如果重复,在设计驱动程序时怎么解决这个问题?
|
|
|
9楼#
发布于:2002-12-19 10:00
理论上说不能保证.
系统会提示用户,由用户决定装入那个厂家的驱动程序 |
|
|
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 以上它们的执行顺序有规则吗?大概是怎样的? __________________谢_谢_各_位_老_大__________________ |
|
|
11楼#
发布于:2002-12-19 11:05
请问: 建议你先看一下Walter Oney的Programming the Microsoft Windows Driver Model里面详细介绍了这些东西 |
|
12楼#
发布于:2002-12-19 11:41
那书内容太多,对我这个初学者来说简直是个庞然大物,或许是译得不太白话,加上足足6M多,不过我也会慢慢会析,需要大量时间和脑黄金
|
|
|
13楼#
发布于:2002-12-19 17:27
请问: 1、DriverEntry在driver被load的时候执行。 发现新的device的时候就执行AddDevice。 2、当然要先create,最后close啦。看看DDK或Oney的书。 |
|
14楼#
发布于:2002-12-19 18:36
我试着测试一个关于RamDisk的例子,我看也不是什么硬件方面的驱动程序,就是用内存来虚拟一个硬盘。我成功安完一次后,把它卸载掉,作适当修改(当然,有错),再安装,待还没安装完,就咔喳,在蓝屏陪伴下重新启动了,这次启动时,系统就说检测到新硬件(RamDisk),接下来就自动安装,显然,安到一半,又老调重弹、悲剧重演,重新启动了,One by one.不过,我在安全模式的帮助下,顺利脱险,接下来我就分析,但没搞懂。
没搞懂的是: 1、检测到的是什么新硬件了?(我什么硬件也没添加啊) 2、驱动程序也会被Win2000认为是新硬件吗?(我看就是软件嘛) 3、是谁让那个“找到新硬件”忍不住露面了? _______________神_啦_救_救_我_吧_________________ |
|
|
15楼#
发布于:2002-12-20 13:46
这个问题我始终没搞懂,谁能帮帮我?(先谢了)
|
|
|
16楼#
发布于:2002-12-20 14:58
它应该是一个“虚拟硬件”啊,虽然它是软件。
|
|
17楼#
发布于:2002-12-20 15:03
但是什么迹象让他启动时发觉的
|
|
|
18楼#
发布于:2002-12-20 15:18
inf文件或其他系统文件
|
|
19楼#
发布于:2002-12-20 15:31
是不是我第一次安装后,虽然卸载了,但在注册表中留下了引线
|
|
|
上一页
下一页