__declspec(naked) int GetLock(int * pLock)
{
_asm
{
push edx
push ebx
mov eax, 0
mov edx, 1
mov ebx, [esp + 12]
pushf
lock cmpxchg [ebx], edx
popf
pop ebx
pop edx
ret
}
}