HalpAcpiRealTimeToUtcTime

VOID __fastcall HalpAcpiRealTimeToUtcTime(_ACPI_REAL_TIME *AcpiRealTime, _LARGE_INTEGER *UtcTime){
  __int64 TimeZone; 
  _TIME_FIELDS TimeFields; 
  _LARGE_INTEGER Time; 

  TimeFields.Year = AcpiRealTime->Year;
  TimeFields.Month = AcpiRealTime->Month;
  TimeFields.Day = AcpiRealTime->Day;
  TimeFields.Hour = AcpiRealTime->Hour;
  TimeFields.Minute = AcpiRealTime->Minute;
  TimeFields.Second = AcpiRealTime->Second;
  TimeFields.Milliseconds = AcpiRealTime->Milliseconds;
  Time.QuadPart = 0i64;
  TimeFields.Weekday = 0;
  if( RtlTimeFieldsToTime(&TimeFields, &Time) )
  {
    TimeZone = AcpiRealTime->TimeZone;
    if( (unsigned __int16)(TimeZone + 1440) > 0xB40u )
      ExLocalTimeToSystemTime(&Time, UtcTime);
    else
      UtcTime->QuadPart = Time.QuadPart + 600000000 * TimeZone;
  }
}

Referenced by:

HalQueryRealTimeClock