MiWaitForPageWriteCompletion
VOID __stdcall MiWaitForPageWriteCompletion(
_MMPFN *Pfn1,
_CONTROL_AREA *ControlArea,
ULONG_PTR ProtoPoolPfn,
UINT8 PageIrql){
CHAR v8;
__int64 v9[2];
__int64 v10;
__int64 v11[3];
v9[1] = 8i64;
v9[0] = 0i64;
v10 = 393479i64;
v11[1] = (__int64)v11;
v11[0] = (__int64)v11;
ExAcquireSpinLockExclusiveAtDpcLevel((INT64 *)&ControlArea->ControlAreaLock);
v9[0] = (__int64)ControlArea->WaitList;
ControlArea->WaitList = (_MI_CONTROL_AREA_WAIT_BLOCK *)v9;
ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&ControlArea->ControlAreaLock);
_InterlockedAnd64(&Pfn1->u2.Lock, 0x7FFFFFFFFFFFFFFFui64);
MiUnlockProtoPoolPage(ProtoPoolPfn, PageIrql);
KeWaitForGate((_KGATE *)&v10, WrVirtualMemory, v8);
}Referenced by:
MiFlushSectionInternal
MmPurgeSection