我正尝试在WEC7(Windows Embedded Compact 7)上为PCIe网卡开发基于NDIS6.0
的迷你端口驱动程序。
在MPInitialize函数中,当我尝试使用函数NdisMGetBusData读取PCI配置空间时,它返回零。
从文档中,它应该读取读取的字节数。文档中没有更多信息。
我没有从NDIS包装层获得任何调试消息。
我已在我的OAL图层OALPCICfgRead
中添加了打印件。我也没有得到这份印刷品。
我打电话的功能是:
ulResult = NdisMGetBusData(
Adapter->AdapterHandle,
PCI_WHICHSPACE_CONFIG,
FIELD_OFFSET(PCI_COMMON_CONFIG, VendorID),
buffer,
PCI_COMMON_HDR_LENGTH );
这里ulResult为零。
没有从NDIS获得任何额外的调试打印。
PCI控制器低级功能中的打印也没有出现。
如果有人帮我调试这个问题,它会有所帮助。
答案 0 :(得分:1)
问题出在WEC7' CEDDK.dll
。
HalGetBusDataByOffset
中的 ARM 不支持PCI总线HalSetBusDataByOffset
和DDK_BUS.lib
功能(它们内置支持 x86 )
当我从公共代码克隆此驱动程序并添加此支持时,功能现在正常工作。
这似乎在 MSDN 中没有记录。