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