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