emailoftest
驱动牛犊
驱动牛犊
  • 注册日期2002-03-18
  • 最后登录2002-06-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1181回复:1

KPciConfigurationy应用疑问

楼主#
更多 发布于:2002-04-27 09:21
KPciConfiguration中有一个函数
KPciConfiguration::ReadHeader
VOID ReadHeader(
PVOID header,
ULONG StartOffset=0,
ULONG Count=sizeof(PCI_CONFIG_HEADER_0)
);

Reads data from the header of the device\'s PCI configuration space into the supplied buffer.

我在自己的一个IOCTL中准备完成读取PCI配置寄存器的功能
定义

KMemory mem(I.MDL);
PUCHAR poutBuffer = (PUCHAR)mem.MapToSystemSpace();
//poutBuffer是用户用于接受数据的空间
//利用一个KPciConfiguration实例PCIConfig
PCIConfig.ReadHeader(
poutBuffer ,
0,
sizeof(PCI_CONFIG_HEADER_0)
);

编译通过,运行test程序,结果选择相应的ioctl操作,计算机闪了一蓝屏就重新启动。
是不是该函数的用法有问题,还是需要其他的辅助操作。


ddong
驱动牛犊
驱动牛犊
  • 注册日期2002-11-23
  • 最后登录2012-02-24
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望11点
  • 贡献值1点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-30 13:52
兄弟,请检查一下,你的buffer是否够大。PCI Config Header的大小可以看看PCI spec. 或者其他资料。
游客

返回顶部