ExpFastResourceLegacyRelease
NTSTATUS __stdcall ExpFastResourceLegacyRelease(PVOID BugCheckParameter1){
_ETHREAD *CurrentThread;
unsigned __int8 CurrentIrql;
INT64 *FastOwnerEntryForThread;
INT64 *v5;
NTSTATUS result;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
CurrentIrql = KeGetCurrentIrql();
__writecr8(2ui64);
FastOwnerEntryForThread = ExpFindFastOwnerEntryForThread((INT64)CurrentThread, (INT64)BugCheckParameter1, 0, 1);
v5 = FastOwnerEntryForThread;
if( !FastOwnerEntryForThread )
KeBugCheckEx(0xE3u, (ULONG_PTR)BugCheckParameter1, (ULONG_PTR)CurrentThread, 0i64, 0i64);
*((_BYTE *)FastOwnerEntryForThread + 17) &= ~2u;
__writecr8(CurrentIrql);
ExReleaseFastResource(BugCheckParameter1, FastOwnerEntryForThread);
ExFreePoolWithTag(v5, 0);
return result;
}Referenced by:
CcUnpinFileDataEx
ExReleaseResourceAndLeaveCriticalRegion
ExReleaseResourceForThreadLite
ExReleaseResourceLite