PopClearSpecialRequest
NTSTATUS __stdcall PopClearSpecialRequest(_PO_POWER_REQUEST *PowerRequest, _POWER_REQUEST_TYPE Type){
NTSTATUS v3;
VOID *v4;
char v5;
VOID *v6;
if( Type != PowerRequestExecutionRequired )
return -1073741811;
v4 = 0i64;
v5 = 0;
PopAcquirePowerRequestPushLock(1u);
v6 = (VOID *)*((_QWORD *)PowerRequest + 16);
if( v6 )
{
*((_QWORD *)PowerRequest + 16) = 0i64;
*((_QWORD *)PowerRequest + 15) = 0i64;
v4 = v6;
--PowerRequest[11];
v5 = 1;
PopDiagTracePowerRequestChange(PowerRequest);
v3 = 0;
}
else
{
v3 = -1073741811;
}
PopReleaseRwLock((_POP_RW_LOCK *)((char *)&stru_140C23628 + 5864));
if( v5 )
PsReleaseProcessWakeCounter(v4, (UINT64)PowerRequest);
return v3;
}Referenced by:
PopPowerRequestActionInfo