SdbFindFirstStringIndexedTag

UINT64 __stdcall SdbFindFirstStringIndexedTag(
        _DB *pdb,
        UINT16 tWhich,
        UINT16 tKey,
        WCHAR *pszName,
        _FIND_INFO *pFindInfo){
  _FIND_INFO Index; 
  UINT64 v9; 
  UINT64 IndexKeyFromString; 
  UINT64 v11; 
  unsigned int FirstIndexedRecord; 
  __int64 dwIndexFlags[3]; 

  LODWORD(dwIndexFlags[0]) = 0;
  Index = SdbGetIndex(pdb, tWhich, tKey, (UINT64 *)dwIndexFlags);
  *pFindInfo = Index;
  if( !Index )
  {
    AslLogCallPrintf(1ui64, (INT8 *)"SdbFindFirstStringIndexedTag", 0xEBui64, (INT8 *)"Index not found 0x%lx Key 0x%lx");
    return 0i64;
  }
  v9 = LODWORD(dwIndexFlags[0]);
  pFindInfo[5] = dwIndexFlags[0];
  *((_WORD *)pFindInfo + 6) = tKey;
  *((_QWORD *)pFindInfo + 4) = pszName;
  IndexKeyFromString = SdbMakeIndexKeyFromStringEx(pszName, v9);
  v11 = (unsigned int)*pFindInfo;
  *((_QWORD *)pFindInfo + 3) = IndexKeyFromString;
  FirstIndexedRecord = SdbpGetFirstIndexedRecord(pdb, v11, IndexKeyFromString, pFindInfo);
  if( !FirstIndexedRecord )
    return 0i64;
  return SdbpFindMatchingName(pdb, FirstIndexedRecord, pFindInfo);
}

Referenced by:

KsepDbGetShimInfo
SdbGetDatabaseMatchEx
SdbpSearchDB