FsRtlNotifyCleanupAll
VOID __stdcall FsRtlNotifyCleanupAll(PNOTIFY_SYNC NotifySync, PLIST_ENTRY NotifyList){
_ETHREAD *CurrentThread;
_LIST_ENTRY *Flink;
_LIST_ENTRY *v6;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
if( CurrentThread != *((_ETHREAD **)NotifySync + 7) )
{
ExAcquireFastMutexUnsafe((PFAST_MUTEX)NotifySync);
*((_QWORD *)NotifySync + 7) = CurrentThread;
}
++*((_DWORD *)NotifySync + 16);
Flink = NotifyList->Flink;
while( Flink != NotifyList )
{
v6 = Flink - 2;
Flink = Flink->Flink;
FsRtlNotifyCleanupOneEntry(v6);
}
if( (*((_DWORD *)NotifySync + 16))-- == 1 )
{
*((_QWORD *)NotifySync + 7) = 0i64;
ExReleaseFastMutexUnsafe((PFAST_MUTEX)NotifySync);
}
}Referenced by:
No references.