阅读:1649回复:12
关于查找硬件的问题
我一直想不明白对于pnp的硬件(比如pci)是怎么查找硬件的,
书上说是通过总线驱动程序发现有硬件,然后得到硬件相应寄存器的内容,比如venderid,productid什么的。这是通过什么方式得到的??是不是还是通过HalGetBusData()函数得到? 但是ddk上说:“Drivers should use the PnP Manager\'s IRP_MN_QUERY_INTERFACE and IRP_MN_READ_CONFIG requests instead. ”不用这又用什么函数,或者该怎么弄??该不会还会在总线驱动程序里面做点什么吧?那又怎么做?我更不会了! 我是新手,给我说一说吧,要是你能给我一个有关查找硬件的例子 更好!我的信箱:qlang95@sohu.com谢谢 |
|
最新喜欢:dregs
|
沙发#
发布于:2002-05-13 15:16
都帮你找到了,你还要怎么样呀! :D
|
|
板凳#
发布于:2002-05-13 15:22
支持pnp的硬件可以在自己的寄存器中告诉系统自己的信息
然后总线驱动程序可以读出这些信息放到注册表里,这实在系统启动的时候做的,然后pnp管理器会把这些信息用irp发给你,你收到就ok了 |
|
|
地板#
发布于:2002-05-13 15:28
我就是想知道怎么得到的嘛!!总线驱动程序发现有硬件,是怎么
取得硬件寄存器的内容的(通过什么方式,或者什么函数)!!根据这些ID,我在驱动程序才能判断是否就是我找的硬件阿!! |
|
|
地下室#
发布于:2002-05-13 15:31
这是和总线规范有关的
推荐去看pci2.0总线规范 |
|
|
5楼#
发布于:2002-05-14 11:47
zydcat
支持pnp的硬件可以在自己的寄存器中告诉系统自己的信息 我好像理解了,但是设备id,制造商id等标识该设备东东就是我所找的设备,他们应该在什么字段给出了??比如说我用的5920桥接芯片,但是deviceid =5920应该在什么字段给出?我的驱动程序要根据这(当然还有一些其它信息)判断这就是我找的设备!!您最好能不能给我一个pnp(跟硬件相关的)例子,这样我就好依葫芦画瓢嘛!!发在我的e-mail里好吗?qlang95@371.net谢谢啦! |
|
|
6楼#
发布于:2002-05-14 11:52
呵呵
我没有现成的例子 你到2kddk的例程里找找吧 那儿肯定有 |
|
|
7楼#
发布于:2002-05-14 12:24
呵呵 好像没有跟硬件有关的,只是一些框架程序,我想找一个具体跟硬件相关的阿,你以前肯定作过嘛,你可不可以。。。。帮忙帮到底嘛 有机会我请你吃饭嘛 |
|
|
8楼#
发布于:2002-05-14 14:46
我真的没有,
pci设备的设备id号和厂商id号一般是在安装的时候由总线驱动读出来和你的inf文件中的一个字段进行匹配,如果符合才会安装。 没见过要在驱动中读出来的 估计读也可以,只要知道它的地址,应该没问题的,但是这得看你的设备的总线规范了。 |
|
|
9楼#
发布于:2002-05-14 17:49
zydcat
谢谢你! 我知道了,还有一事不明,就是驱动分层,比如就简单并口驱动程序,当他收到一个irp时,经过一系列处理调用IoCallDriver(parentDevObj, Irp),我知道这 是往下层驱动发送irp,但是,它的下层驱动应该是什么驱动??是不是总线驱动程序?如果是总线驱动程序的话,(跟我要做那一个驱动程序也得分层??)该不会需要重新编写总线驱动吧??还有,5920 是否支持pnp? |
|
|
10楼#
发布于:2002-05-15 09:01
总线驱动就不需要你写了。
|
|
11楼#
发布于:2002-05-15 09:10
下层驱动是什么,得看具体情况,不一定是总线驱动。
驱动层次结构是这样的: 上层过滤器驱动 | 功能驱动 | 下层过滤器驱动 | 总线驱动 所以要看上层是什么才知道下层 而且过滤器驱动可以有很多层的。 你要做驱动不一定要分层,分层是为了扩展底层驱动的功能而采用的 能在一层搞定,不需要分层。 另外,5920是什么东西,说清楚一些,是总线芯片吗。 |
|
|
12楼#
发布于:2002-05-15 12:56
zydcat
5920是桥接芯片,既然你都不知道是什么,想必也不知道,我自己慢慢看资料吧,只是e文的,从小e文差,有点不好董。 我做的是图像结出,接入卡。我也不知道需不需要分层阿?? 问题是:如果我不分层,就是直接在一层驱动里面进行设备查找,资源分配,读写设备什么的。。 如果我写分层驱动那设备查找,资源分配,读写设备什么的。。 具体应该在哪一层写? 你能不能告诉我你的qq号?我就这几天一直不出差,你如果方便的话,我们可以直接。。。 我其实从今年春节以来就开始看书,苦于中途出差两个月,这不说不定哪天要要走了,我就急着这几天想把它弄出个眉目来!! 我的qq:20418574加上我的时候,说明你是zydcat 谢谢 |
|
|