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

新问题,进去瞧瞧:9054DMA传输问题

楼主#
更多 发布于:2004-09-24 11:07
    用ds编写PCI9054的DMA传输,先发现跟踪到以下驱动代码处黑屏重启:
    m_CurrentTransfer = new(NonPagedPool) KDmaTransfer(this, &m_Dma);

   if ( m_CurrentTransfer == NULL )
   {
status = STATUS_INSUFFICIENT_RESOURCES;
I.Information() = 0;
I.Status() = status;
PnpNextIrp(I);
   }
   status = m_CurrentTransfer->Initiate(
I.Mdl(),
FromDeviceToMemory,
LinkTo(OnDmaReady),
NULL,
FALSE
);
    这段代码是在应用程序调用驱动后马上做的。其中,m_CurrentTransfer 定义KDmaTransfer*   m_CurrentTransfer; OnDmaReady是回调函数,当运行到以上Initiate(...)时就重启了,请问各位高手是何原因,有什么办法解决??(这是应用程序为数据缓冲区,共用缓冲区也试过,同样)
    谢谢各位浏览及浏览留言者!

游客

返回顶部