KeAbMarkCrossThreadReleasable
UINT8 __stdcall KeAbMarkCrossThreadReleasable(INT64 a1, _KLOCK_ENTRY *a2){
_KLOCK_ENTRY *v2;
UINT8 result;
v2 = a2;
if( ((unsigned __int8)a2 & 1) != 0 )
v2 = &KeGetCurrentThread()->LockEntries[(unsigned __int8)((unsigned __int64)a2 >> 1)];
if( v2->LockState.$E8276A2CF8B819ED32D1B6FEB35D730A::_bf_0 >= 0 )
KiAbForceProcessLockEntry(v2);
result = v2->CrossThreadReleasableAndBusyByte | 1;
v2->CrossThreadReleasableAndBusyByte = result;
return result;
}Referenced by:
ExDisownFastResource
KeAbCrossThreadDeleteDpcRoutine