阅读:3357回复:11
如何访问PCI配置空间?
还是没搞定,我要访问卡的PCI配置空间,以得到卡上ROM的ROMBaseAddress。我在驱动程序中调用了NTHALAPI ULONG HalGetBusData(IN BUS_DATA_TYPE BusDataType,
IN ULONG BusNumber, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Length)函数,结果编译出错:error c2065: \'HalGetBusData\': undeclared identifier. 原来ddk中说已不再支持这个接口。 那么我要访问PCI配置空间该怎么办呢? |
|
最新喜欢:![]()
|
沙发#
发布于:2002-03-06 16:35
用户被禁言,该主题自动屏蔽! |
|
板凳#
发布于:2002-03-06 16:35
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2002-03-06 16:42
用户被禁言,该主题自动屏蔽! |
|
地下室#
发布于:2002-03-07 16:13
DDK中ddk中说已不再支持函数HalGetBusData(...)了吗?
我怎么能编译通过... |
|
5楼#
发布于:2002-03-07 16:49
tom.cat说得对。
To ZhouQiao: DDK文档里说得明白:(以下摘自DDK) \" HalGetBusData is obsolete and is exported only to support existing drivers. Drivers should use the PnP Manager\'s IRP_MN_QUERY_INTERFACE and IRP_MN_READ_CONFIG requests instead. \" |
|
6楼#
发布于:2002-03-08 08:29
兄弟我有两个困惑:
一 我用HalGetBusData能编译通过,程序基本工作正常,只是最近在 P4机器、NT Server 4.0下,找不着卡; 二 能否给个IRP_MN_QUERY_INTERFACE和IRP_MN_READ_CONFIG的例子。 |
|
7楼#
发布于:2002-03-08 08:56
Tom.Cat,怎样访问寄存器CF8,CFC呀?
|
|
8楼#
发布于:2002-03-08 09:06
用户被禁言,该主题自动屏蔽! |
|
9楼#
发布于:2002-03-08 09:22
我开发的是NT4.0下的驱动,用HalGetBusData找卡,程序基本工作正常。
只是最近在P4机器、NT 4.0下,该程序找不着卡!!!也不知道有无别的方法? 请别回避NT4.0这个前提!!! |
|
10楼#
发布于:2002-03-08 09:24
用户被禁言,该主题自动屏蔽! |
|
11楼#
发布于:2002-06-09 15:50
楼上的Tom.Cat,关于2000,我想知道
1,你拿出的ReadConfigRegisterBuffer()函数是自定义的还是DDK的(好象没有这个定义的)?如果是自定义的能给我实现么? 2,这里得到的配置空间pciRegs里面有相应的VENDORID和DEVICEID么? 3,这里得到的资源列表中如何判断是相应设备的资源?是否因为INF文件中已经指定,所以系统直接就把这里指定的内存(或者IO)资源和设备上的寄存器联系起来了?所以就不用去管设备ID和厂商ID了? 4,假设得到的资源列表中有一个内存资源,是不是可以认为它的起始地址对应PCI配置空间中的基地址寄存器[0]?以此类推,如何判断得到的内存资源和I/O资源是对应哪个基地址寄存器呢? |
|
|