drinkeryj
驱动老牛
驱动老牛
  • 注册日期2001-03-23
  • 最后登录2006-05-16
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:831回复:0

读配置空间为什么出错

楼主#
更多 发布于:2002-01-23 18:07
一个8478的pci接口网络设备,8478本身提供pci接口同时也有网络功能.以前nt下的驱动程序可以正常运行,现在想把它移植到win2k下发现很多问题.
本来是一个设备,win2k找到两个:一个是网卡,另一个是pci桥.可是只有一个驱动程序,我把它当成网卡,inf文件也是按照网卡写的,安装失败,原因是驱动程序把它当成一个拥有两个功能的设备,可是在读配置空间的时候却只能读出网卡的,按理说在读第二个功能设备的时候应该读出pci桥设备的配置空间.以下是那段代码两次取出的居然是同一配置空间的数据!!!哪位高手看看帮忙看看是怎么回事.

ThisAdapter->SlotNumber.u.bits.FunctionNumber = 0;
Status = NdisMPciAssignResources(
  ThisAdapter->MiniportAdapterHandle,
  ThisAdapter->SlotNumber.u.AsULONG,
  &ThisAdapter->AssignedResources);

BufferSize=NdisReadPciSlotInformation(
  ThisAdapter->MiniportAdapterHandle,
  ThisAdapter->SlotNumber.u.AsULONG,
  0,
 (PVOID)&(ThisAdapter->PciFunctionZero),
  sizeof(PCI_CONFIG_SPACE0));

......
ThisAdapter->SlotNumber.u.bits.FunctionNumber=1;
Status = NdisMPciAssignResources(
  ThisAdapter->MiniportAdapterHandle,
  ThisAdapter->SlotNumber.u.AsULONG,
  &ThisAdapter->SecondaryAssignedResources);

BufferSize=NdisReadPciSlotInformation(
  ThisAdapter->MiniportAdapterHandle,
  ThisAdapter->SlotNumber.u.AsULONG,
  0,
 (PVOID)&(ThisAdapter->PciFunctionZero),
  sizeof(PCI_CONFIG_SPACE1));
以后怎么办? [img]http://www.driverdevelop.com/forum/upload/Xman/2004-04-05_2004324183110706.jpg[/img]
游客

返回顶部