PnpSetDeviceAffinityThread
__int64 __fastcall PnpSetDeviceAffinityThread(__int64 a1, _GROUP_AFFINITY *a2){
unsigned int v3;
_GROUP_AFFINITY Affinity;
Affinity = 0i64;
if( a1 )
a1 = *(_QWORD *)(*(_QWORD *)(a1 + 312) + 40i64);
if( !a1 )
return 0i64;
v3 = *(_DWORD *)(a1 + 660);
if( v3 > 0xFFFFFFFD )
return 0i64;
if( v3 >= (unsigned __int16)KeNumberNodes )
return 0i64;
KeQueryNodeActiveAffinity(*(_WORD *)(a1 + 660), &Affinity, 0i64);
KeAndGroupAffinityEx(&KeActiveProcessors, &Affinity, &Affinity);
if( !Affinity.Mask )
return 0i64;
KeSetSystemGroupAffinityThread(&Affinity, a2);
return 1i64;
}Referenced by:
PnpCallAddDevice
PnpSendIrp