ljhjason
驱动牛犊
驱动牛犊
  • 注册日期2004-07-05
  • 最后登录2004-10-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1458回复:6

SpinLock和IRQL的相关例程

楼主#
更多 发布于:2004-08-09 11:30
KeInitializeSpinLock

KeAcquireSpinLock
KeReleaseSpinLock

KeAcquireSpinLockAtDpcLevel
KeReleaseSpinLockAtDpcLevel

IoAcquireCancelSpinLock
IoReleaseCancelSpinLock

KeSynchronizeExecution

KeRaiseIrql
KeLowerIrql

谁来说说它们的不同区别和应用目的??
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2004-08-11 10:03
在单CPU的2000上KeAcquireSpinLockAtDpcLevel基本没用,直接就RET了,所以用哪个无所谓.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
wzxghost
驱动牛犊
驱动牛犊
  • 注册日期2002-03-08
  • 最后登录2010-11-10
  • 粉丝0
  • 关注0
  • 积分67分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-11 08:49
调用KeInitializeSpinLock初始化自旋锁;
KeAcquireSpinLock获取自旋锁,它也把IRQL提升到DISPATCH_LEVEL级上;
KeReleaseSpinLock释放自旋锁,它也把IRQL降低到原来的IRQL级上;
如果你知道代码已经处在DISPATCH_LEVEL级上,你可以调用两个专用函数来获取自旋锁:KeAcquireSpinLockAtDpcLevel、KeReleaseSpinLockFromDpcLevel;
ljhjason
驱动牛犊
驱动牛犊
  • 注册日期2004-07-05
  • 最后登录2004-10-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-09 23:13
 

[编辑 -  8/9/04 by  ljhjason]
mihopaul
驱动牛犊
驱动牛犊
  • 注册日期2002-10-01
  • 最后登录2009-10-14
  • 粉丝0
  • 关注0
  • 积分32分
  • 威望13点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-09 19:06
说得太简单了吧。说详细点吧。
比如说这三个例程有什么不同
KeAcquireSpinLock
IoAcquireCancelSpinLock
KeAcquireSpinLockAtDpcLevel
 



KeAcquireSpinLock 就是要求
ljhjason
驱动牛犊
驱动牛犊
  • 注册日期2004-07-05
  • 最后登录2004-10-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-09 17:53
说得太简单了吧。说详细点吧。
比如说这三个例程有什么不同
KeAcquireSpinLock
IoAcquireCancelSpinLock
KeAcquireSpinLockAtDpcLevel
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
6楼#
发布于:2004-08-09 13:21
单CPU上SPINLOCK就是把IRQL提升到DISPATCH-LEVEL
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
游客

返回顶部