ExpTimeZoneCleanupSiloState

NTSTATUS __stdcall ExpTimeZoneCleanupSiloState(INT64 a1){
  bool v1; 
  _ESERVERSILO_GLOBALS *ServerSiloGlobals; 
  _EX_TIMEZONE_STATE *ExTimeZoneState; 

  v1 = 0;
  ServerSiloGlobals = PsGetServerSiloGlobals((_EJOB *)a1);
  if( ServerSiloGlobals->TzVirtualizationSupported )
  {
    ExTimeZoneState = ServerSiloGlobals->ExTimeZoneState;
    if( ExTimeZoneState->TimeZone.Timer.Dpc )
      v1 = (unsigned __int8)KeCancelTimer((INT64)&ExTimeZoneState->TimeZone.Timer) == 0;
    if( ExTimeZoneState->Century.Timer.Dpc && !(unsigned __int8)KeCancelTimer((INT64)&ExTimeZoneState->Century.Timer) )
      v1 = 1;
    if( ExTimeZoneState->NextYear.Timer.Dpc && !(unsigned __int8)KeCancelTimer((INT64)&ExTimeZoneState->NextYear.Timer) )
      v1 = 1;
    if( v1 )
      KeFlushQueuedDpcs();
  }
  return 0;
}

Referenced by:

PspDeleteExternalServerSiloState