PiDmGetCacheKeys

DEVPROPKEY **__fastcall PiDmGetCacheKeys(int a1, DEVPROPKEY ***a2, _DWORD *a3){
  int v3; 
  DEVPROPKEY **result; 
  int v5; 
  v3 = a1 - 1;
  if( v3 )
  {
    v5 = v3 - 2;
    if( v5 )
    {
      if( v5 == 2 )
      {
        *a3 = 3;
        result = &PiDmCachedDeviceContainerKeys;
      }
      else
      {
        result = 0i64;
        *a3 = 0;
      }
    }
    else
    {
      *a3 = 1;
      result = &PiDmCachedDeviceInterfaceKeys;
    }
  }
  else
  {
    *a3 = 10;
    result = &PiDmCachedDeviceKeys;
  }
  *a2 = result;
  return result;
}

Referenced by:

PiDmListUpdateAggregationCountWorker
PiDmObjectCreate
PiDmObjectGetCachedObjectPropertyData
PiDmObjectGetCachedObjectReference
PiDmObjectProcessPropertyChange
PiDmObjectRelease
PiDmObjectUpdateCachedObjectProperty