CmGetDeviceContainerMappedPropertyKeys
__int64 __fastcall CmGetDeviceContainerMappedPropertyKeys(
__int64 a1,
__int64 a2,
__int64 a3,
__int64 a4,
__int64 a5,
unsigned int a6,
unsigned int *a7){
DEVPROPKEY **v7;
__int64 result;
unsigned int v9;
DEVPROPKEY *v10;
__int64 v11;
__int64 v12;
unsigned int v13;
unsigned int v14;
unsigned int v15;
v7 = &off_140007960;
result = 0i64;
*a7 = 0;
v9 = 0;
while( 1 )
{
v10 = *v7;
if( *v7 )
{
if( a5 )
{
v11 = *a7;
if( (unsigned int)v11 < a6 )
{
v12 = 5 * v11;
*(_GUID *)(a5 + 4 * v12) = v10->fmtid;
*(_DWORD *)(a5 + 4 * v12 + 16) = v10->pid;
}
}
v13 = *a7;
v14 = -1;
v15 = *a7 + 1;
if( v15 >= *a7 )
v14 = *a7 + 1;
*a7 = v14;
result = v15 < v13 ? 0xC0000095 : 0;
if( v15 < v13 )
break;
}
++v9;
v7 += 2;
if( v9 >= 4 )
goto LABEL_10;
}
*a7 = 0;
LABEL_10:
if( (int)result >= 0 )
return a6 < *a7 ? 0xC0000023 : 0;
return result;
}Referenced by:
CmDeleteDeviceContainerWorker
PnpDispatchDeviceContainer