aiwadgj
驱动老牛
驱动老牛
  • 注册日期2004-11-13
  • 最后登录2020-12-24
  • 粉丝0
  • 关注0
  • 积分119分
  • 威望84点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1366回复:6

开发驱动必须明白的问题!!

楼主#
更多 发布于:2004-11-16 21:17
这两天看到一个概念搞不太明白!
什么样的例程叫做回调例程?
有具体的定义吗?
为什么它要运行在dispatch level?
请各位高手指点。
谢谢!!
酒也在沉溺,何时麻醉我抑郁。过去了的一切会平息。。。。。。。
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-17 11:18
这个问题可能很难说得很清楚。
回调在C语言中是通过函数指针来实现的,通过将回调函数的地址传给被调函数从而实现回调。
首先得知道什么是回调,我觉得下面这个帖子讲的挺好:
http://www-900.ibm.com/developerWorks/cn/linux/l-callback/index.shtml
在交流中学习。。。
aiwadgj
驱动老牛
驱动老牛
  • 注册日期2004-11-13
  • 最后登录2020-12-24
  • 粉丝0
  • 关注0
  • 积分119分
  • 威望84点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2004-11-17 12:19
非常感谢大虾的指点,
这里的回调例程应该跟那里所提到的
回调函数是一个概念吧。
小弟有点明白了,
还有一点它为什么要运行在dispatch level呢?
不知道大虾想过没有?
酒也在沉溺,何时麻醉我抑郁。过去了的一切会平息。。。。。。。
aiwadgj
驱动老牛
驱动老牛
  • 注册日期2004-11-13
  • 最后登录2020-12-24
  • 粉丝0
  • 关注0
  • 积分119分
  • 威望84点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2004-11-17 12:34
可以以回调函数的概念理解DpcForIsr是一个回调例程,
但对于StartIo就不好理解了 :(
不管怎样还是感谢大虾!! ;)
酒也在沉溺,何时麻醉我抑郁。过去了的一切会平息。。。。。。。
comealong
驱动牛犊
驱动牛犊
  • 注册日期2003-04-30
  • 最后登录2012-01-19
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望105点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-11-25 16:35
后面一个问题
你要说应该的DPC的回调函数为什么工作dispatch层

DPC 一般用在中断程序中, 如果一个中断程序占用系统太多的时间
用户就会感到系统的性能降低,响应较慢
所以 中断程序一般只在中断例程中做必做的工作 , 其它可以后推的工作交由DPC处理, 当IRQL降到 >= DISPATCH_LEVEL 时, DPC才会得到处理, 所以说,在编写 DPC回调例程时,是假设它的IRQL<= DISPATCH_LEVEL

[编辑 -  11/25/04 by  comealong]
xbzjackey
驱动小牛
驱动小牛
  • 注册日期2002-12-27
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望34点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-11-25 17:28
谢谢fslife的文章。
回答好的不要忘了给分哦。。。
xbzjackey
驱动小牛
驱动小牛
  • 注册日期2002-12-27
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望34点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-11-25 17:28
谢谢fslife提供的文章。
回答好的不要忘了给分哦。。。
游客

返回顶部