阅读:2115回复:7
询问获得硬件信息几个的问题?
在获得硬件信息的函数中:如下:
//For HalTranslateBusAddress ConfigList->Count =0; pPciCfg=(PPCI_COMMON_CONFIG)ExAllocatePool(PagedPool,sizeof(PCI_COMMON_CONFIG)); ASSERT(pPciCfg!=NULL); for(BusNumber=0; BusNumber < 4;BusNumber ++){ for(SlotNumber=0;SlotNumber < 32; SlotNumber ++){ BusDataLen=HalGetBusData( PCIConfiguration, BusNumber, SlotNumber, pPciCfg, sizeof(*pPciCfg)); if(BusDataLen == 0) ......... .......... .......... 上面有点不明白的是: for(BusNumber =0; BusNumber < 4;BusNumber ++) { for(SlotNumber=0;SlotNumber < 32; SlotNumber ++) {...... ......} 其中BusNumber 和SlotNumber是怎样确定小于4和32的,而不是小于其它的数? 这个循环的目的是作什么? |
|
沙发#
发布于:2005-02-23 18:39
这个是系统决定的。。。。你不用管了
在系统上PCI总线号与每根总线上的插槽号是有限制的 就是说PCI总线号范围是0――3 插槽号范围是0――31 |
|
|
板凳#
发布于:2005-02-24 18:40
上面这位老大,小弟在这里谢谢了!!
紧接上面的代码问,在函数HalGetBusData返回后,对返回的BusDataLen进行确定: if(BusDataLen !=2 && pPciCfg->BaseClass==0x3 &&(pPciCfg->Command&PCI_ENABLE_MEMORY_SPACE)) //and it\'s enabled { ........ ........ } 上面的这几个判断条件(2;0x3;Command&PCI_ENABLE_MEMORY_SPACE)是根据什么得来的???? |
|
地板#
发布于:2005-02-24 19:22
上面这位老大,小弟在这里谢谢了!! 这个跟你的具体硬件有关的。。。。 我不知道你的什么硬件特性我也不是很清楚了。。。 看看你的硬件的datesheet。。。 自己多看看自然就明白了。。 ;) |
|
|
地下室#
发布于:2005-02-24 19:36
还有就是看看PCI Spec了。
|
|
5楼#
发布于:2005-02-26 14:22
PCI的规格说明在往上那里可以下载?
我用的上7146做与PCI的连接的 [编辑 - 2/26/05 by zhongjie] |
|
6楼#
发布于:2005-02-26 20:15
PCI的规格说明在往上那里可以下载? 网上有的是,,,,满网飞,,,,, :D :D |
|
|
7楼#
发布于:2009-12-01 17:32
如何获取像鼠标,键盘,cpu等信息呀?急!哥哥姐姐们!
|
|