tomtp
驱动牛犊
驱动牛犊
  • 注册日期2003-01-08
  • 最后登录2005-10-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1274回复:4

如何读取PCI总线的配置信息?

楼主#
更多 发布于:2003-01-08 14:14
如何读取PCI总线的配置信息?

最新喜欢:

okincnokincn
fengcr
驱动牛犊
驱动牛犊
  • 注册日期2002-11-08
  • 最后登录2003-01-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-09 15:29
那要看是编写什么类型的驱动程序:
WIN2K下的WDM驱动程序(支持PNP),很简单!
当你的status = IoCreateDevice()返回STATUS_SUCCESS后
你就可以在PNP的:IRP_MN_START_DEVICE功能代码处,
通过访问:IrpStack->Parameters.StartDevice.AllocatedResourcesTranslated
而得到!
we will be goodfriend forever!!!
magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-02-23 13:54
那要看是编写什么类型的驱动程序:
WIN2K下的WDM驱动程序(支持PNP),很简单!
当你的status = IoCreateDevice()返回STATUS_SUCCESS后
你就可以在PNP的:IRP_MN_START_DEVICE功能代码处,
通过访问:IrpStack->Parameters.StartDevice.AllocatedResourcesTranslated
而得到!
 


nt中呢?
[color=red]大头鬼! :P[/color]
zshuc
驱动小牛
驱动小牛
  • 注册日期2001-08-16
  • 最后登录2012-04-19
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-02-26 10:05
NT中

1。调用HalGetBusData遍历系统所有总线和槽位,寻找实际设备,若找不到则返回设备不存在。否则保存总线,槽位和PCI配置数据在PCI_COMMON_CONFIG结构中。

2。调用HalAssignSlotResources宣告在指定总线和槽位上的资源,所有资源信息保存在CM_RESOURCE_LIST结构中。

所以这时候我们从CM_RESOURCE_LIST结构中就可以获得IO,内存以及中断信息。

[编辑 -  2/26/03 by  zshuc]
大家好!
qiuyue
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2005-04-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-02-26 15:55
如果是VXD类型,则通过遍历硬件树,找到PCI卡的关键字来得到资源。 :)
游客

返回顶部