HalpCallWakeAlarmDriver

NTSTATUS __stdcall HalpCallWakeAlarmDriver(DEVICE_OBJECT *DeviceObject, INT64 AcAlarm, INT64 Timer, UINT64 Seconds){
  char v4; 
  IRP *v6; 
  NTSTATUS result; 
  int InputBuffer[2]; 
  struct _IO_STATUS_BLOCK IoStatusBlock; 
  struct _KEVENT Object; 
  v4 = Timer;
  memset(&Object, 0, sizeof(Object));
  InputBuffer[0] = (_BYTE)AcAlarm == 0;
  InputBuffer[1] = Seconds;
  IoStatusBlock = 0i64;
  KeInitializeEvent(&Object, NotificationEvent, 0);
  v6 = IoBuildDeviceIoControlRequest(
         v4 != 0 ? 2720256 : 2720260,
         DeviceObject,
         InputBuffer,
         8u,
         0i64,
         0,
         0,
         &Object,
         &IoStatusBlock);
  if( !v6 )
    return -1073741670;
  result = IofCallDriver(DeviceObject, v6);
  if( result == 259 )
  {
    KeWaitForSingleObject(&Object, Suspended, 0, 0, 0i64);
    return IoStatusBlock.Status;
  }
  return result;
}

Referenced by:

HalpArmAcpiWakeAlarm