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