MiSetTrimWhileAgingState

VOID __stdcall MiSetTrimWhileAgingState(_MI_PARTITION *Partition, _MM_TRIM_WHILE_AGING_INFO TrimWhileAgingInfo){
  _QWORD *WorkingSetControl; 
  _MMSUPPORT_INSTANCE *PartitionWs; 
  unsigned __int8 State; 
  _MMSUPPORT_SHARED *SharedVm; 
  UINT8 v6; 

  WorkingSetControl = Partition->WorkingSetControl;
  PartitionWs = Partition->Vp.PartitionWs;
  State = TrimWhileAgingInfo.State;
  SharedVm = MiGetSharedVm(Partition->Vp.PartitionWs);
  v6 = ExAcquireSpinLockExclusive((INT64 *)&SharedVm->WorkingSetLock);
  SharedVm->GoodCitizenWaiting = 0;
  switch( State )
  {
    case 0u:
      WorkingSetControl[9] = 0i64;
      goto LABEL_9;
    case 1u:
      WorkingSetControl[8] = -1i64;
      WorkingSetControl[9] = 204800i64;
      goto LABEL_6;
    case 2u:
      WorkingSetControl[9] = 204800i64;
      WorkingSetControl[8] = 51200i64;
      goto LABEL_6;
  }
  if( State != 3 )
  {
    if( State != 4 )
      goto LABEL_6;
    WorkingSetControl[9] = 384000i64;
LABEL_9:
    WorkingSetControl[8] = 0i64;
    goto LABEL_6;
  }
  WorkingSetControl[9] = 204800i64;
  WorkingSetControl[8] = 12800i64;
LABEL_6:
  *((_WORD *)WorkingSetControl + 1175) = *(_WORD *)&TrimWhileAgingInfo.PrivatePageTrimAge;
  *((_DWORD *)WorkingSetControl + 20) = State;
  MiUnlockWorkingSetExclusive(PartitionWs, v6);
}

Referenced by:

MiInitializeWorkingSetManagerParameters
MmSetTrimWhileAgingState