HalpQueryAcpiRealTimeClock

VOID __fastcall HalpQueryAcpiRealTimeClock(_ACPI_REAL_TIME *AcpiRealTime){
  _DEVICE_OBJECT *DynamicDevicePointer; 
  PIRP *v3; 
  _IO_STATUS_BLOCK IoStatusBlock; 
  __int128 Object; 
  __int64 v6; 

  Object = 0i64;
  v6 = 0i64;
  IoStatusBlock = 0i64;
  DynamicDevicePointer = (_DEVICE_OBJECT *)HalpGetDynamicDevicePointer();
  if( DynamicDevicePointer )
  {
    KeInitializeEvent((INT64)&Object, 0, 0);
    v3 = IoBuildDeviceIoControlRequest(
           0x294210u,
           DynamicDevicePointer,
           0i64,
           0,
           AcpiRealTime,
           0x10u,
           0,
           (PKEVENT)&Object,
           &IoStatusBlock);
    if( v3 )
    {
      if( IofCallDriver((UINT64)DynamicDevicePointer, (UINT64)v3) == 259 )
        KeWaitForSingleObject((UINT64)&Object, 0, 0, 0, 0i64);
    }
    HalPutDmaAdapter((PADAPTER_OBJECT)DynamicDevicePointer);
  }
}

Referenced by:

HalQueryRealTimeClock
HalpUtcTimeToAcpiRealTime