MI_PAGEFILE_WRITE

VOID __stdcall MI_PAGEFILE_WRITE(
        _MMMOD_WRITER_MDL_ENTRY *ModWriterEntry,
        _LARGE_INTEGER *CurrentTime,
        _IO_PAGING_PRIORITY IrpPriority,
        UINT64 ReservationWrite,
        INT64 Status){
  _MI_PARTITION *Partition; 
  __int64 v7; 
  char Priority; 

  Partition = ModWriterEntry->PagingFile->Partition;
  v7 = ((unsigned __int8)_InterlockedExchangeAdd(&Partition->Vp.PageFileTraceIndex, 1u) + 1) & 0x1F;
  Partition->Vp.PageFileTraces[v7].Status = Status;
  Priority = KeGetCurrentThread()->Priority;
  Partition->Vp.PageFileTraces[v7].ReservationWrite = (_DWORD)ReservationWrite != 0;
  Partition->Vp.PageFileTraces[v7].Priority = Priority;
  Partition->Vp.PageFileTraces[v7].IrpPriority = IrpPriority;
  Partition->Vp.PageFileTraces[v7].CurrentTime = *CurrentTime;
  Partition->Vp.PageFileTraces[v7].PartitionId = Partition->Core.PartitionId;
  Partition->Vp.PageFileTraces[v7].AvailablePages = Partition->Vp.AvailablePages;
  Partition->Vp.PageFileTraces[v7].ModifiedPagesTotal = Partition->Vp.ModifiedPageListHead.Total;
  Partition->Vp.PageFileTraces[v7].ModifiedPagefilePages = Partition->Vp.TotalPagesForPagingFile;
  Partition->Vp.PageFileTraces[v7].ModifiedNoWritePages = Partition->Vp.ModifiedNoWritePageListHead.Total;
  Partition->Vp.PageFileTraces[v7].ModifiedPagefileNoReservationPages = Partition->PageLists.ModifiedPageListNoReservation.Total;
  Partition->Vp.PageFileTraces[v7].MdlHack.Mdl = ModWriterEntry->Mdl;
  Partition->Vp.PageFileTraces[v7].MdlHack.Page[0] = ModWriterEntry->Page[0];
}

Referenced by:

MiGatherPagefilePages
MiWriteComplete