MiRemoveWakeListEntry

VOID __stdcall MiRemoveWakeListEntry(_CONTROL_AREA *ControlArea, _MI_CONTROL_AREA_WAIT_BLOCK *DesiredGate){
  _MI_CONTROL_AREA_WAIT_BLOCK **p_WaitList; 
  _MI_CONTROL_AREA_WAIT_BLOCK *WaitList; 
  _MI_CONTROL_AREA_WAIT_BLOCK *v4; 

  p_WaitList = &ControlArea->WaitList;
  WaitList = ControlArea->WaitList;
  v4 = *(_MI_CONTROL_AREA_WAIT_BLOCK **)WaitList;
  while( WaitList != DesiredGate )
  {
    p_WaitList = (_MI_CONTROL_AREA_WAIT_BLOCK **)WaitList;
    WaitList = v4;
    v4 = *(_MI_CONTROL_AREA_WAIT_BLOCK **)v4;
  }
  *p_WaitList = v4;
}

Referenced by:

MiCleanSection
MiFlushControlArea