MiLockAweVadsShared

VOID *__stdcall MiLockAweVadsShared(_ETHREAD *Thread){
  _EPROCESS *Process; 
  _MMWSL_INSTANCE *VmWorkingSetList; 
  VOID *result; 

  Process = Thread->Tcb.ApcState.Process;
  VmWorkingSetList = Process->Vm.Instance.VmWorkingSetList;
  while( 1 )
  {
    --Thread->Tcb.SpecialApcDisable;
    result = ExAcquireAutoExpandPushLockShared((_EX_PUSH_LOCK_AUTO_EXPAND *)&VmWorkingSetList[10].NextPteToAge, 0i64);
    if( !Process->ForkInProgress )
      break;
    MiUnlockAweVadsShared(&Thread->Tcb, result);
    MiCopyOnWriteCheckConditions((INT64)&Process->Vm, 3221226548i64);
  }
  return result;
}

Referenced by:

MiProtectAweRegion
NtMapUserPhysicalPages
NtMapUserPhysicalPagesScatter