PnpRecordBlackboxDeviceCompletionQueueInformation
NTSTATUS __fastcall PnpRecordBlackboxDeviceCompletionQueueInformation(__int64 a1){
VOID **v1;
__int64 v2;
__int64 v4;
NTSTATUS result;
VOID **PoolWithTag;
UINT64 v7;
__int64 InputBuffer[2];
__int64 v9;
int v10;
int v11;
v9 = 0i64;
v11 = 0;
v1 = 0i64;
v2 = 0i64;
v4 = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
if( a1 )
{
v2 = 72i64;
PoolWithTag = ExAllocatePoolWithTag(0x200ui64, 0x48ui64, 1265659472i64);
v1 = PoolWithTag;
if( PoolWithTag )
{
memset(PoolWithTag, 0i64, 0x48u);
*(_DWORD *)v1 = 1;
*((_DWORD *)v1 + 1) = 72;
*((_DWORD *)v1 + 3) = (v4 - **(_QWORD **)(a1 + 64)) / 0x2710ui64;
*((_DWORD *)v1 + 4) = *(_DWORD *)(a1 + 32);
v1[3] = *(VOID **)(a1 + 16);
v1[6] = (VOID *)PnpDeviceEventThread;
v1[5] = (VOID *)a1;
v1[7] = qword_140CEC8C0[0];
v1[8] = (VOID *)*(&PnpReplaceEvent + 1016);
}
}
v9 = 0i64;
v11 = 0;
LODWORD(v7) = 0;
v10 = 10;
InputBuffer[0] = (__int64)v1;
InputBuffer[1] = v2;
result = NtPowerInformation(PowerInformationLevelMaximum|SystemPowerCapabilities, InputBuffer, 0x20ui64, 0i64, v7);
if( v1 )
return(unsigned int)ExFreePoolWithTag(v1, 0x4B706E50u);
return result;
}Referenced by:
PnpRecordBlackbox