CmEnumDevicesInContainerWithCallback

__int64 __fastcall CmEnumDevicesInContainerWithCallback(__int64 a1, __int64 a2, __int64 a3, __int64 a4, __int64 a5){
  __int64(__fastcall *v9)(__int64, __int64, __int64, __int64, int, _DWORD *); 
  int v10; 
  unsigned int v11; 
  unsigned int v12; 
  int v13; 
  int v14; 
  unsigned int v15; 
  _DWORD result[4]; 
  char *v18; 
  __int64(__fastcall *v19)(__int64, char *, __int64); 
  __int64 v20; 
  int v21; 
  memset((INT64)result, 0i64);
  v9 = *(__int64(__fastcall **)(__int64, __int64, __int64, __int64, int, _DWORD *))(a1 + 504);
  v21 = 0;
  v18 = (char *)a3;
  v19 = (__int64(__fastcall *)(__int64, char *, __int64))a4;
  v20 = a5;
  if( v9 )
  {
    v10 = v9(a1, a2, 5i64, 15i64, 1, result);
    if( v10 == -1073741822 )
    {
      v9 = 0i64;
    }
    else
    {
      if( v10 == -1073741536 )
        return result[0];
      if( v10 )
        return(unsigned int)-1073741595;
    }
  }
  v11 = CmEnumDevicesInContainerWithCallbackWorker(a1, a2, v18, v19, v20, v21);
  v12 = v11;
  if( !v9 )
    return v12;
  result[0] = v11;
  v13 = v9(a1, a2, 5i64, 15i64, 2, result);
  v14 = v13;
  if( v13 == -1073741822 )
    return v12;
  if( v13 == -1073741536 )
    return result[0];
  v15 = v12;
  if( v14 )
    return(unsigned int)-1073741595;
  return v15;
}

Referenced by:

CmGetContainerBooleanProperty
PiDcResetChildDeviceContainers