PopUmpoSendPowerRequestOverrideQuery
NTSTATUS __stdcall PopUmpoSendPowerRequestOverrideQuery(_PO_POWER_REQUEST *PowerRequestObject){
size_t v2;
VOID **PoolWithTag;
VOID **v4;
int v5;
UINT64 BufferSizePointer;
BufferSizePointer = 0i64;
PoStoreRequester(*((_DIAGNOSTIC_CONTEXT **)PowerRequestObject + 10), 0i64, &BufferSizePointer, 1u);
v2 = BufferSizePointer + 16;
PoolWithTag = ExAllocatePoolWithTag(1ui64, BufferSizePointer + 16, 1869638997i64);
v4 = PoolWithTag;
if( !PoolWithTag )
return -1073741670;
memset(PoolWithTag, 0i64, v2);
v5 = PoStoreRequester(
*((_DIAGNOSTIC_CONTEXT **)PowerRequestObject + 10),
(_DIAGNOSTIC_BUFFER *)(v4 + 2),
&BufferSizePointer,
1u);
if( v5 >= 0 )
{
*(_DWORD *)v4 = 8;
*((_DWORD *)v4 + 2) = PowerRequestObject[7];
v5 = PopUmpoSendPowerMessage(v4, v2, 0);
}
ExFreePoolWithTag(v4, 0x6F706D55u);
return v5;
}Referenced by:
PopCreateKernelPowerRequest
PopCreateUserPowerRequest
PopPowerRequestOverrideInitialize