PopPrepareIoctl

VOID __stdcall PopPrepareIoctl(
        _IRP *Irp,
        UINT64 Ioctl,
        UINT8 Internal,
        VOID *Buffer,
        UINT64 InputSize,
        UINT64 OutputSize){
  int v6; 
  _IO_STACK_LOCATION *CurrentStackLocation; 

  v6 = Ioctl;
  IoReuseIrp(Irp, -1073741637);
  CurrentStackLocation = Irp->Tail.CurrentStackLocation;
  CurrentStackLocation[-1].MajorFunction = (Internal != 0) + 14;
  CurrentStackLocation[-1].Parameters.Options = InputSize;
  LODWORD(CurrentStackLocation[-1].Parameters.SecurityContext) = OutputSize;
  *(_DWORD *)&CurrentStackLocation[-1].Parameters.FileAttributes = v6;
  Irp->AssociatedIrp.MasterIrp = (_IRP *)Buffer;
}

Referenced by:

PopBatteryInitialize
PopBatteryQueryEstimatedTime
PopBatteryQueryStatus
PopBatteryReadTag
PopBatteryWaitTag
PopFanWorker
PopThermalWorker