MiQueueExtentPfnDeletion
void __fastcall MiQueueExtentPfnDeletion(_QWORD *a1){
WORK_QUEUE_TYPE v1;
void *v2;
struct _KLOCK_QUEUE_HANDLE LockHandle;
memset(&LockHandle, 0, sizeof(LockHandle));
if( a1 )
{
LockHandle.LockQueue.Next = 0i64;
LockHandle.LockQueue.Lock = &qword_140C51AE0;
KxAcquireQueuedSpinLock((PIO_WORKITEM)&LockHandle, (PIO_WORKITEM_ROUTINE)&qword_140C51AE0, v1, v2);
*a1 = qword_140C4C828;
qword_140C4C828 = (__int64)a1;
MiWakeFileOnlyReaper();
KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
}
else
{
KeAcquireInStackQueuedSpinLock(&qword_140C51AE0, &LockHandle);
MiWakeFileOnlyReaper();
KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
__writecr8(LockHandle.OldIrql);
}
}Referenced by:
MiClearFileOnlyPfn
MiWorkingSetManager