PiDmGetCmObjectConstraintListFromCache

NTSTATUS __fastcall PiDmGetCmObjectConstraintListFromCache(
        PI_DM_LIST_ID ListId,
        const WCHAR *CmConstraintObjectName,
        UINT8 a3,
        INT64 *MatchCallbackRoutine,
        HPNPCTX *a5,
        const WCHAR *a6,
        _CM_OBJECT_TYPE a7,
        VOID *a8,
        VOID *MatchCallbackContext,
        WCHAR *Buffer,
        UINT64 BufferLength,
        UINT64 *RequiredLength){
  int v12; 
  UINT64 *RequiredLengtha; 
  WCHAR Buffera[4]; 
  INT64 *v16; 
  int v17; 
  int v18; 

  v16 = MatchCallbackRoutine;
  v12 = 0;
  *(_QWORD *)Buffera = a3;
  v18 = 0;
  switch( LODWORD(qword_140007260[5 * ListId]) )
  {
    case 1:
      v12 = 1;
      break;
    case 2:
      v12 = 2;
      break;
    case 3:
      v12 = 3;
      break;
    case 4:
      v12 = 4;
      break;
    case 5:
      v12 = 5;
      break;
    case 6:
      v12 = 6;
      break;
  }
  LODWORD(RequiredLengtha) = (_DWORD)a6;
  v17 = v12;
  return PiDmGetObjectConstraintList(
           ListId,
           (WCHAR *)CmConstraintObjectName,
           (VOID *)(5i64 * (int)ListId),
           Buffera,
           (UINT64)a5,
           RequiredLengtha);
}

Referenced by:

PiPnpRtlGetFilteredDeviceInterfaceList
PiPnpRtlGetFilteredDeviceList