码迷,mamicode.com
首页 > 其他好文 > 详细

EnterCriticalSection 如何实现得到锁?

时间:2017-05-12 00:13:28      阅读:616      评论:0      收藏:0      [点我收藏+]

标签:rtl   section   tle   read   如何   word   enter   als   count   

 

_RtlEnterCriticalSection@4:
77E022D0 mov edi,edi
77E022D2 push ebp
77E022D3 mov ebp,esp
77E022D5 sub esp,0Ch
77E022D8 push esi
77E022D9 push edi
77E022DA mov edi,dword ptr [ebp+8]
77E022DD lea esi,[edi+4]
77E022E0 mov eax,esi
77E022E2 lock btr dword ptr [eax],0    //原子查看 LockCount 最低位是否为0, 如果为0, 则认为已经得倒
77E022E7 jae _RtlEnterCriticalSection@4+1030Bh (77E125DBh)
77E022ED mov eax,dword ptr fs:[00000018h]
77E022F3 mov ecx,dword ptr [eax+24h]
77E022F6 mov dword ptr [edi+0Ch],ecx    //设置OwningThread
77E022F9 mov dword ptr [edi+8],1          //RecursionCount
77E02300 pop edi
77E02301 xor eax,eax
77E02303 pop esi
77E02304 mov esp,ebp
77E02306 pop ebp
77E02307 ret 4

EnterCriticalSection 如何实现得到锁?

标签:rtl   section   tle   read   如何   word   enter   als   count   

原文地址:http://www.cnblogs.com/ltzhou/p/6843221.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!