SdbFindFirstNamedTag
__int64 __fastcall SdbFindFirstNamedTag(void *a1, UINT64 a2, __int16 a3, __int16 a4, wchar_t *Str1){
unsigned int v5;
unsigned int v8;
unsigned int i;
unsigned int v11;
unsigned int FirstTag;
const wchar_t *StringTagPtr;
v5 = 0;
v8 = a2;
for( i = SdbGetFirstChild((INT64)a1, a2); ; i = SdbGetNextChild((__int64)a1, v8, v11) )
{
v11 = i;
if( !i )
break;
if( (unsigned __int16)SdbGetTagFromTagID((__int64)a1, i) == a3 )
{
FirstTag = SdbFindFirstTag((INT64)a1, v11, a4);
if( FirstTag )
{
StringTagPtr = (const wchar_t *)SdbGetStringTagPtr((RTL_RUN_ONCE *)a1, FirstTag);
if( !StringTagPtr )
{
AslLogCallPrintf(1ui64, "SdbFindFirstNamedTag", 0x98ui64, "Can't get the name string");
return v5;
}
if( !wcsicmp(Str1, StringTagPtr) )
return v11;
}
}
}
return v5;
}Referenced by:
SdbQueryDataExTagID
SdbpSearchDB