DrvDbGetObjectSubKeyList
INT64 __fastcall DrvDbGetObjectSubKeyList(
INT64 a1,
VOID *a2,
INT64 a3,
INT64 a4,
_WORD *a5,
UINT64 a6,
UINT64 *a7,
INT64 a8){
int v12;
int v13;
unsigned int v14;
int v16;
_DWORD result[136];
int v18;
*(_DWORD *)a7 = 0;
if( a5 && (_DWORD)a6 )
*a5 = 0;
memset((INT64)result, 0i64);
v16 = a8;
*(_QWORD *)&result[129] = a3;
*(_QWORD *)&result[131] = a4;
*(_QWORD *)&result[133] = a5;
result[135] = a6;
v18 = 0;
v12 = PnpCtxRegEnumKeyWithCallback(a1, a2, (__int64)DrvDbGetObjectSubKeyCallback, (__int64)&v16);
if( v12 >= 0 )
{
v13 = v18;
*(_DWORD *)a7 = v18;
if( v13 )
{
v14 = v13 + 1;
*(_DWORD *)a7 = v14;
if( a5 && v14 <= (unsigned int)a6 )
a5[v14 - 1] = 0;
else
return(unsigned int)-1073741789;
}
else
{
return 0;
}
}
return(unsigned int)v12;
}Referenced by:
DrvDbGetObjectList