阅读:1331回复:4
没人了解网卡多功能设备么?
一个在windowsNT下8478的多功能设备驱动程序,原来正常运行。8478的0功能是网络设备,1功能是pci桥设备。nt不支持pnp功能,所以它用枚举slot number的方法找到了这两个功能,而且都是在同一个驱动程序中完成的。可是这段代码在win2k下却不能正常运行,只能找到第一个功能,我想可能是因为win2k支持pnp功能,另外由于ndis5的使用,使得ReadMPciSlotInformation函数根据第一个参数(就是NIC的句柄)直接就找到了它,而且不论如何枚举都只能找到第一个功能,这是不是因为NIC句柄的缘故?
另外,win2k的DDK文档上说,如果是多功能设备,只能是对每一个功能都分别写驱动,包括INF文件。但是如果这样一来,如果功能1中用到了功能0的某些结果,比如说功能0的配置空间的中的基地址,该怎么办呢?难道还需要在两个驱动程序间通信么? 这是我想了两天的疑惑,希望有高手解疑答惑。 |
|
|
沙发#
发布于:2002-02-06 13:31
看来真是没人了解了。
|
|
|
板凳#
发布于:2002-02-16 13:52
You have write a bus driver, which act as a function driver of PCI.
Your bus driver then enum your functions. |
|
地板#
发布于:2002-02-20 01:42
If W2K cannot see two devices on your card, writting a bus driver should be ok, refer to ddk source src/general/toaster.
But if W2K can see two devices, you will have trouble! From your description, your card doesn\'t compliant to standard Windows MF driver model. |
|
|
地下室#
发布于:2002-02-20 14:34
首先感谢ttqy和kanghai,能不能说得再明确些。win2k确实是找到了两个设备,一个是网卡,一个是pci桥。看它的样子好像是要求两个驱动程序的。
写bus driver就是为了代替系统的pci总线驱动程序来枚举我自己的设备么? |
|
|