PiDmGetCmObjectListFromCache

NTSTATUS __fastcall PiDmGetCmObjectListFromCache(
        _CM_OBJECT_TYPE CmObjectType,
        UINT8 a2,
        INT64 *MatchCallbackRoutine,
        HPNPCTX *a4,
        const WCHAR *a5,
        UINT8 *a6,
        VOID *a7,
        VOID *MatchCallbackContext,
        WCHAR *Buffer,
        UINT64 BufferLength,
        UINT64 *RequiredLength){
  PNP_OBJECT_TYPE v11; 
  PI_DM_OBJECT *v12; 
  VOID *v14; 
  __int64 MatchCallbackRoutinea[2]; 
  UINT64 v16; 
  UINT64 *v17; 

  MatchCallbackRoutinea[0] = a2;
  MatchCallbackRoutinea[1] = (__int64)MatchCallbackRoutine;
  v16 = (unsigned int)CmObjectType;
  v11 = CmMapCmObjectTypeToPnpObjectType(CmObjectType);
  LODWORD(v14) = (_DWORD)a5;
  return PiDmGetObjectList(
           v11,
           (INT64)PiDmCmObjectMatchCallback,
           MatchCallbackRoutinea,
           v12,
           v14,
           a6,
           (VOID *)MatchCallbackRoutinea[0],
           (WCHAR *)MatchCallbackRoutinea[1],
           v16,
           v17);
}

Referenced by:

PiPnpRtlCmActionCallback
PiPnpRtlGetFilteredDeviceInterfaceList
PiPnpRtlGetFilteredDeviceList