FsRtlNotifyCleanup
VOID __stdcall FsRtlNotifyCleanup(PNOTIFY_SYNC NotifySync, PLIST_ENTRY NotifyList, PVOID FsContext){
_ETHREAD *CurrentThread;
LIST_ENTRY *v7;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
if( CurrentThread != *((_ETHREAD **)NotifySync + 7) )
{
ExAcquireFastMutexUnsafe((PFAST_MUTEX)NotifySync);
*((_QWORD *)NotifySync + 7) = CurrentThread;
}
++*((_DWORD *)NotifySync + 16);
v7 = FsRtlIsNotifyOnList(NotifyList, FsContext);
if( v7 )
FsRtlNotifyCleanupOneEntry(v7);
if( (*((_DWORD *)NotifySync + 16))-- == 1 )
{
*((_QWORD *)NotifySync + 7) = 0i64;
ExReleaseFastMutexUnsafe((PFAST_MUTEX)NotifySync);
}
}Referenced by:
No references.