newluck
驱动牛犊
驱动牛犊
  • 注册日期2004-10-27
  • 最后登录2005-01-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:924回复:1

请指教!

楼主#
更多 发布于:2004-11-23 16:40
关于ds的问题,武那本书的问题:
一  m_CurrentTransfer->Initiate(
           ...
      I.Mdl(),
     ...
      linkTo(OnDmaReady),                      
      ...
   )  
Initiate的作用是不是就是去执行OnDmaReady函数?I.Mdl()在里面作为参数的作用是什么?

二:  Dma有block和scatter/gather方式,怎么在驱动程序确定的?
三:  VOID DMASampleDevice::Dpc_Isr(Arg1,Arg2)
{ m_CurrentTransfer->Continue() }  
Arg1,Arg2干什么用的?  我们知道dma传输完成后会产生中断,
执行Isr,然后调用Dpc,Continue()干什么用?难道是pci<->local传输完毕把数据读到应用程序?
四: pXfer->SequenceTransferDesciptor()  是取得下一个描述符,什么作用呢?

    
sean198148
驱动牛犊
驱动牛犊
  • 注册日期2003-01-22
  • 最后登录2014-10-08
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望26点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-23 17:26
1.DS忘了所以不知道为什么
2。这些方式首先要看硬件是否支持,才能决定在程序中是否使用。
3。俩个参数是你初始化中断对象时提供的上下文参数
4。continue和5可能是一次数据良太大一次传输完成不了,进行下一此传输
游客

返回顶部