PiDmGetObjectList
INT64 __fastcall PiDmGetObjectList(UINT64 a1, INT64 a2, INT64 a3, _WORD *a4, UINT64 a5, _DWORD *a6){
int v7;
int v8;
__int64 v10[3];
__int64 v11;
v10[0] = a2;
v10[1] = a3;
v10[2] = (__int64)a4;
*a6 = 0;
v11 = (unsigned int)a5;
if( (_DWORD)a5 )
*a4 = 0;
v7 = PiDmEnumObjectsWithCallback(
a1,
(__int64(__fastcall *)(void *, __int64, char *))PiDmGetObjectListCallback,
(__int64)v10);
if( v7 >= 0 )
{
v8 = HIDWORD(v11);
*a6 = HIDWORD(v11);
if( v8 )
{
*a6 = v8 + 1;
if( a4 && (unsigned int)a5 >= v8 + 1 )
a4[v8] = 0;
else
return(unsigned int)-1073741789;
}
}
return(unsigned int)v7;
}Referenced by:
PiDmGetCmObjectListFromCache
PiPnpRtlObjectActionCallback