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.