silan
驱动小牛
驱动小牛
  • 注册日期2002-02-04
  • 最后登录2004-03-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3358回复:11

如何访问PCI配置空间?

楼主#
更多 发布于:2002-03-06 16:24
还是没搞定,我要访问卡的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配置空间该怎么办呢?

最新喜欢:

mapoflmapofl
/***************************/ 认认真真学好三个代表,踏踏实实做好无产阶级接班人。 /***************************/
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-03-06 16:35
用户被禁言,该主题自动屏蔽!
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-03-06 16:35
用户被禁言,该主题自动屏蔽!
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2002-03-06 16:42
用户被禁言,该主题自动屏蔽!
zhouqiao
驱动牛犊
驱动牛犊
  • 注册日期2002-03-06
  • 最后登录2002-07-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-03-07 16:13
DDK中ddk中说已不再支持函数HalGetBusData(...)了吗?
我怎么能编译通过...
houjzs
驱动牛犊
驱动牛犊
  • 注册日期2002-01-29
  • 最后登录2002-07-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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.  \"

zhouqiao
驱动牛犊
驱动牛犊
  • 注册日期2002-03-06
  • 最后登录2002-07-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-03-08 08:29
兄弟我有两个困惑:
一  我用HalGetBusData能编译通过,程序基本工作正常,只是最近在
P4机器、NT Server 4.0下,找不着卡;
二   能否给个IRP_MN_QUERY_INTERFACE和IRP_MN_READ_CONFIG的例子。
blue
驱动大牛
驱动大牛
  • 注册日期2001-04-25
  • 最后登录2010-10-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望12点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-03-08 08:56
Tom.Cat,怎样访问寄存器CF8,CFC呀?
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2002-03-08 09:06
用户被禁言,该主题自动屏蔽!
zhouqiao
驱动牛犊
驱动牛犊
  • 注册日期2002-03-06
  • 最后登录2002-07-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-03-08 09:22
我开发的是NT4.0下的驱动,用HalGetBusData找卡,程序基本工作正常。
只是最近在P4机器、NT 4.0下,该程序找不着卡!!!也不知道有无别的方法?

请别回避NT4.0这个前提!!!
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
10楼#
发布于:2002-03-08 09:24
用户被禁言,该主题自动屏蔽!
shushishu
驱动牛犊
驱动牛犊
  • 注册日期2002-05-28
  • 最后登录2002-06-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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资源是对应哪个基地址寄存器呢?
所有心情在零下30度冻结……
游客

返回顶部