PiDmLookupObject

_PI_DM_OBJECT *__stdcall PiDmLookupObject(_PI_DM_OBJECT_MANAGER *ObjectManager, WCHAR *ObjectName){
  _PI_DM_OBJECT *v4; 
  _PI_DM_OBJECT **v5; 
  _PI_DM_OBJECT *Buffer; 
  _PI_DM_OBJECT ComparisonObject[28]; 

  memset(ComparisonObject, 0i64, sizeof(ComparisonObject));
  v4 = 0i64;
  Buffer = ComparisonObject;
  if( ObjectName )
  {
    if( PiDmInitializeComparisonObject(ObjectName, *(_DWORD *)&ObjectManager[1].ObjectCache[36], ComparisonObject) >= 0 )
    {
      v5 = (_PI_DM_OBJECT **)RtlLookupElementGenericTableAvl((_RTL_AVL_TABLE *)&ObjectManager->ObjectCache[48], &Buffer);
      if( v5 )
        return *v5;
    }
  }
  return v4;
}

Referenced by:

PiDmGetObject
PiDmRemoveCacheReferenceForObject