MiCreateProcessDefaultAweInfo
VOID __stdcall MiCreateProcessDefaultAweInfo(){
_QWORD *v0;
_QWORD *v1;
_ETHREAD *CurrentThread;
_EPROCESS *Process;
_MMWSL_INSTANCE *VmWorkingSetList;
VOID *LockedEntries;
int v6;
*v0 = 0i64;
v1 = v0;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
Process = CurrentThread->Tcb.ApcState.Process;
VmWorkingSetList = Process->Vm.Instance.VmWorkingSetList;
LockedEntries = (VOID *)VmWorkingSetList[9].LockedEntries;
if( !LockedEntries )
{
if( MiAllocateAweInfo(0i64) < 0 )
return;
v6 = 0;
MiLockAweVadsExclusive((INT64)CurrentThread);
if( !Process->Vm.Instance.VmWorkingSetList[9].LockedEntries )
{
VmWorkingSetList[9].LockedEntries = (unsigned __int64)LockedEntries;
v6 = 1;
}
MiUnlockAweVadsExclusive(&CurrentThread->Tcb);
if( !v6 )
{
MiDeleteAweInfo((ULONG_PTR)KeGetCurrentThread()->ApcState.Process, LockedEntries);
LockedEntries = (VOID *)Process->Vm.Instance.VmWorkingSetList[9].LockedEntries;
}
}
*v1 = LockedEntries;
}Referenced by:
MiAllocateUserPhysicalPages
MiCreateUserPhysicalView