PiProfileUpdateDeviceTreeCallback
__int64 __fastcall PiProfileUpdateDeviceTreeCallback(__int64 a1, const WCHAR *a2, INT64 a3){
int v3;
v3 = *(_DWORD *)(a1 + 300);
if( v3 == 776 )
{
if( !(unsigned int)PnpIsDeviceInstanceEnabled(0i64, (UNICODE_STRING *)(a1 + 40), 0i64) )
PnpRequestDeviceRemoval(a1, 0, 22, 0);
}
else if( ((v3 - 770) & 0xFFFFFFEF) == 0 && (*(_DWORD *)(a1 + 396) & 0x2000) != 0 && *(_DWORD *)(a1 + 404) == 22 )
{
PipClearDevNodeProblem(a1, a2, a3);
if( (unsigned int)PnpIsDeviceInstanceEnabled(0i64, (UNICODE_STRING *)(a1 + 40), 0i64) )
{
PnpRestartDeviceNode(a1);
IoInvalidateDeviceRelations(*(DEVICE_OBJECT **)(*(_QWORD *)(a1 + 16) + 32i64), BusRelations);
}
else
{
PipSetDevNodeProblem(a1, 22, 0);
}
}
return 0i64;
}Referenced by:
No references.