PnpProcessAssignResourcesWorker
INT64 __fastcall PnpProcessAssignResourcesWorker(
_DEVICE_NODE *DeviceNode,
_PNP_ASSIGN_RESOURCES_CONTEXT *ResourceContext){
INT64 v2;
_DEVICE_NODE *i;
_DEVICE_NODE *v6;
unsigned __int64 v7;
__int64 v9;
for( i = DeviceNode; ; i = v6 )
{
if( ResourceContext->IncludeFailedDevices )
{
if( (*((_DWORD *)i + 99) & 0x2000) != 0 )
{
v7 = *((unsigned int *)i + 101);
if( (unsigned int)v7 <= 0x24 )
{
v9 = 0x1200001000i64;
if( _bittest64(&v9, v7) )
PipClearDevNodeProblem((INT64)i, (const WCHAR *)ResourceContext, v2);
}
}
}
if( (*((_DWORD *)i + 99) & 0x6000) == 0 && *((_DWORD *)i + 75) == 771 )
ResourceContext->DeviceList[ResourceContext->DeviceCount++] = (_DEVICE_OBJECT *)*((_QWORD *)i + 4);
v6 = (_DEVICE_NODE *)*((_QWORD *)i + 1);
if( !v6 )
break;
LABEL_9:
;
}
while( i != DeviceNode )
{
v6 = *(_DEVICE_NODE **)i;
if( *(_QWORD *)i )
goto LABEL_9;
if( *((_QWORD *)i + 2) )
i = (_DEVICE_NODE *)*((_QWORD *)i + 2);
}
return 0i64;
}Referenced by:
PnpProcessAssignResources