PiDmGetCachedKeyIndex
VOID __stdcall PiDmGetCachedKeyIndex(
const _PI_DM_CACHED_PROPERTY_KEY *CachedKeys,
_SIZE_T CachedKeyCount,
const _DEVPROPKEY *PropertyKey,
INT64 a4){
__int64 v4;
unsigned int pid;
__int64 v8;
__int64 v9;
v4 = 0i64;
if( CachedKeyCount )
{
pid = PropertyKey->pid;
do
{
v8 = *(_QWORD *)&CachedKeys[6 * v4];
if( pid == *(_DWORD *)(v8 + 16) )
{
v9 = *(_QWORD *)&PropertyKey->fmtid.Data1 - *(_QWORD *)v8;
if( *(_QWORD *)&PropertyKey->fmtid.Data1 == *(_QWORD *)v8 )
v9 = *(_QWORD *)PropertyKey->fmtid.Data4 - *(_QWORD *)(v8 + 8);
if( !v9 )
break;
}
v4 = (unsigned int)(v4 + 1);
}
while( (unsigned int)v4 < CachedKeyCount );
}
}Referenced by:
PiDmListUpdateAggregationCountWorker
PiDmObjectCreate
PiDmObjectGetCachedObjectPropertyData
PiDmObjectGetCachedObjectReference
PiDmObjectProcessPropertyChange
PiDmObjectUpdateCachedObjectProperty