阅读:1470回复:8
两块PCI卡如何同时工作
我的工作过程如下:
1、已经有一块PCI卡和相应的驱动及上层应用程序,将卡和驱动装入系统,运行应用程序工作正常。 2、在系统中插入第二块一模一样的PCI卡(包括配置空间的所有值),用与第一块卡一样的inf和sys文件,驱动也能够正常安装,系统的设备管理器显示有两块名字一样的卡,资源没有冲突。 问题:应用程序不能正常工作,及应采集并显示的数据没有变化。 3、将第二块卡安装所用的inf和sys程序的名字改变,内容不变,设备亦能正常安装,在设备管理器中显示有两个名字不同的卡,对应的驱动程序信息也不同,资源仍无冲突,问题照旧。 因为只有两块卡同时存在时发生问题,我判断是卡互相影响,但是,卡的资源并没有冲突,并且当二块卡用的驱动名字不同时,我认为系统能够完全区别开了。还有什么因素我没有考虑到吗?请大家指教,谢谢。 [编辑 - 5/14/02 by kittylh] |
|
最新喜欢:juvent... |
沙发#
发布于:2002-05-14 09:04
你的驱动能分辨两块一样的卡吗?
虽然你改了驱动的名字,可是驱动不是靠自己的名字来区别设备的呀。 |
|
板凳#
发布于:2002-05-14 09:11
你的驱动能分辨两块一样的卡吗? 你的意思应用程序调用驱动的时候仍旧不知道指向的是哪一块卡?我试过将驱动程序改名的时候把对应的GUID也改掉,那么此卡应安装到另一个GUID类下,因为打开设备句柄时的一个参数就是GUID,我认为这样可以区别了,但是问题照旧。 |
|
地板#
发布于:2002-05-14 09:59
你是用GUID来产生SymbolicLinkName的吧?
|
|
地下室#
发布于:2002-05-14 10:34
我要同时操作16块PCI卡,是通过硬编码符号链接名,即在生成DeviceName时进行编号,相应的应用软件在打开时分别调用即可。 :D
|
|
|
5楼#
发布于:2002-05-14 12:22
可以用GUID的呀。
用IoRegisterDeviceInterface,就可以辨认了。 |
|
6楼#
发布于:2002-05-14 13:05
在AddDevice例程中,每发现一个硬件,你的DevName和SymbolLinkName有没有变化?
\"我要同时操作16块PCI卡,是通过硬编码符号链接名\"你是打算在应用程序中区别这16块PCI卡,还是要在驱动程序中区别这16块PCI卡? |
|
7楼#
发布于:2002-05-14 13:55
DevName和SymbolLinkName 当然有变化,没发现一个硬件,就加一。
在驱动程序中区别这16块PCI卡。 |
|
|
8楼#
发布于:2002-05-14 14:02
这是nt下的法子
wdm最好用guid |
|
|