MiInitializePageAccessLogging

VOID __stdcall MiInitializePageAccessLogging(
        _MMSUPPORT_INSTANCE *VmSupport,
        _MM_PAGE_ACCESS_INFO_HEADER *AccessInfo,
        UINT64 NumberOfBytes){
  unsigned __int64 *v3; 
  unsigned __int8 v4; 

  AccessInfo->PageEntry = (_MM_PAGE_ACCESS_INFO *)&AccessInfo[1];
  v3 = (unsigned __int64 *)((char *)AccessInfo + NumberOfBytes - 8);
  AccessInfo->Type = MmPteAccessType;
  *v3 = 0i64;
  AccessInfo->FirstFileEntry = v3;
  AccessInfo->FileEntry = v3 - 1;
  AccessInfo->Link.Next = 0i64;
  AccessInfo->SessionId = 0;
  v4 = VmSupport->Flags._bf_0 & 7;
  if( v4 >= 2u )
  {
    AccessInfo->Process = 0i64;
  }
  else if( v4 )
  {
    AccessInfo->Process = (_EPROCESS *)1;
    AccessInfo->SessionId = VmSupport[-2].WorkingSetSize;
  }
  else
  {
    AccessInfo->Process = (_EPROCESS *)&VmSupport[-9].AgeDistribution[3];
  }
  AccessInfo->CreateTime = KUSER_SHARED_DATA.TickCountQuad;
}

Referenced by:

MiAllocateAccessLog
MiGetCcAccessLog