PiDevCfgConfigureDeviceDriver
__int64 __fastcall PiDevCfgConfigureDeviceDriver(__int64 a1, __int64 a2, __int64 a3, _DWORD *a4, _DWORD *a5){
_DWORD *v5;
void *v8;
int v11;
__int64 *v12;
__int64 i;
int v15[4];
int v16;
v5 = a5;
v16 = 0;
v8 = *(void **)(a3 + 32);
v15[0] = 0;
v11 = PiDevCfgConfigureDeviceDriverConfiguration(a1, a2, v8, -1, 0i64, 0i64, a4, a5);
if( v11 >= 0 )
{
v12 = (__int64 *)(a3 + 368);
for( i = *v12; (__int64 *)i != v12; i = *(_QWORD *)i )
{
v11 = PiDevCfgConfigureDeviceDriverConfiguration(
a1,
a2,
*(void **)(i + 32),
*(_DWORD *)(i + 104),
(__int64)PiDevCfgConfigurePropertyMatchCallback,
i,
&v16,
v15);
if( v11 < 0 )
break;
if( a4 )
*a4 |= v16;
if( v5 )
*v5 |= v15[0];
}
}
return(unsigned int)v11;
}Referenced by:
PiDevCfgConfigureDevice
PpDevCfgProcessDeviceExtensions