HalpDispatchPower
NTSTATUS __stdcall HalpDispatchPower(DEVICE_OBJECT *DeviceObject, IRP *Irp){
__int64 v2;
NTSTATUS v4;
unsigned __int8 v6;
NTSTATUS v7;
NTSTATUS v8;
v2 = *((_QWORD *)Irp + 23);
v4 = *((_DWORD *)Irp + 12);
v6 = *(_BYTE *)(v2 + 1) - 2;
if( **((_DWORD **)DeviceObject + 8) != 193 )
{
if( v6 <= 1u )
{
v4 = 0;
*((_DWORD *)Irp + 12) = 0;
}
IofCompleteRequest(Irp, 0);
return v4;
}
if( v6 > 1u )
return HalpPassIrpFromFdoToPdo(DeviceObject, Irp);
if( *(_DWORD *)(v2 + 16) || (v7 = HalpDispatchSystemStateTransition(Irp), v8 = v7, v7 >= 0) )
{
*((_DWORD *)Irp + 12) = 0;
return HalpPassIrpFromFdoToPdo(DeviceObject, Irp);
}
*((_DWORD *)Irp + 12) = v7;
IofCompleteRequest(Irp, 0);
return v8;
}Referenced by:
No references.