littlemm
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2004-06-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1092回复:0

如何将环0地址指针传到环3并进行读写操作呢?

楼主#
更多 发布于:2004-04-14 10:20
case CmResourceTypeMemory:
{                   // CmResourceTypeMemory
     haveport = FALSE;
            port = resource->u.Memory.Start;
            nports = resource->u.Memory.Length;
            needmap = TRUE;


pdx->Physical_Membase = (PUCHAR) port.LowPart;
//Physical_Membase为没有映射得物理地址首地址指针,我用DeviceIoControl传到环3
不能对它进行操作

pdx->MemLength = nports;

pdx->MemPoint =(PUCHAR)MmMapIoSpace(port,pdx->MemLength,MmCached);
//MemPoint为映射得地址首地址指针,我用DeviceIoControl传到环3
也不能对它进行操作
错误是:无效地址
我不是很明白,PCI插槽的卡,驱动应该怎样把这块卡上的DPRAM地址指针传到环3呢:
我已经做过试验,即在环0层找到//MemPoint,将DPRAM地址相对于//MemPoint的偏移量传到环3
读写均没有问题
游客

返回顶部