HalpDispatchPower

NTSTATUS __stdcall HalpDispatchPower(_DEVICE_OBJECT *DeviceObject, _IRP *Irp){
  _IO_STACK_LOCATION *CurrentStackLocation; 
  int Status; 
  unsigned __int8 v6; 
  int v7; 
  NTSTATUS v8; 

  CurrentStackLocation = Irp->Tail.CurrentStackLocation;
  Status = Irp->IoStatus.Status;
  v6 = CurrentStackLocation->MinorFunction - 2;
  if( *(_DWORD *)DeviceObject->DeviceExtension != 193 )
  {
    if( v6 <= 1u )
    {
      Status = 0;
      Irp->IoStatus.Status = 0;
    }
    IofCompleteRequest(Irp, 0);
    return Status;
  }
  if( v6 > 1u )
    return HalpPassIrpFromFdoToPdo(DeviceObject, Irp);
  if( CurrentStackLocation->Parameters.Options || (v7 = HalpDispatchSystemStateTransition(Irp), v8 = v7, v7 >= 0) )
  {
    Irp->IoStatus.Status = 0;
    return HalpPassIrpFromFdoToPdo(DeviceObject, Irp);
  }
  Irp->IoStatus.Status = v7;
  IofCompleteRequest(Irp, 0);
  return v8;
}

Referenced by:

No references.