HalpAcpiRealTimeToUtcTime
NTSTATUS __stdcall HalpAcpiRealTimeToUtcTime(ACPI_REAL_TIME *AcpiRealTime, LARGE_INTEGER *UtcTime){
NTSTATUS v4;
__int64 TimeZone;
struct _TIME_FIELDS TimeFields;
union _LARGE_INTEGER Time;
TimeFields.Year = AcpiRealTime->Year;
TimeFields.Month = AcpiRealTime->Month;
v4 = 0;
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) )
return -1073741823;
TimeZone = AcpiRealTime->TimeZone;
if( (unsigned __int16)(TimeZone + 1440) > 0xB40u )
ExLocalTimeToSystemTime(&Time, UtcTime);
else
UtcTime->QuadPart = Time.QuadPart + 600000000 * TimeZone;
return v4;
}Referenced by:
HalQueryRealTimeClock