ExpFastResourceLegacyIsAcquiredShared
INT64 __fastcall ExpFastResourceLegacyIsAcquiredShared(INT64 a1){
unsigned int v1;
unsigned __int8 CurrentIrql;
INT64 *FastOwnerEntryForThread;
INT64 *v4;
INT64 *v5;
if( *(_DWORD *)(a1 + 64) )
{
CurrentIrql = KeGetCurrentIrql();
__writecr8(2ui64);
FastOwnerEntryForThread = ExpFindFastOwnerEntryForThread((INT64)KeGetCurrentThread(), a1, 0, 0);
if( FastOwnerEntryForThread )
{
v4 = FastOwnerEntryForThread + 5;
v1 = 1;
v5 = (INT64 *)FastOwnerEntryForThread[5];
while( v5 != v4 )
{
v5 = (INT64 *)*v5;
++v1;
}
}
else
{
v1 = 0;
}
__writecr8(CurrentIrql);
}
else
{
return 0;
}
return v1;
}Referenced by:
ExIsResourceAcquiredSharedLite