MiRefillPurgedExtents
NTSTATUS __stdcall MiRefillPurgedExtents(_SUBSECTION *Subsection, _MMPTE *ProtoPtes){
_CONTROL_AREA *ControlArea;
unsigned __int8 v5;
unsigned __int64 v6;
NTSTATUS FileExtents;
UINT64 AllocationFlags;
ControlArea = Subsection->ControlArea;
v5 = ExAcquireSpinLockExclusive((INT64 *)&Subsection->ControlArea->ControlAreaLock);
++ControlArea->NumberOfMappedViews;
++ControlArea->NumberOfUserReferences;
v6 = v5;
ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&ControlArea->ControlAreaLock);
__writecr8(v6);
LODWORD(AllocationFlags) = 2;
FileExtents = MiAllocateFileExtents(
Subsection,
ProtoPtes - Subsection->SubsectionBase,
ProtoPtes,
1ui64,
AllocationFlags);
MiDereferenceControlArea(ControlArea);
return FileExtents;
}Referenced by:
MiPfPrepareReadList
MiPfPrepareSequentialReadList
MiPfPutPagesInTransition