SdbpGetNextTagId
INT64 __fastcall SdbpGetNextTagId(INT64 a1, UINT64 a2){
unsigned int v2;
int TagHeadSize;
int TagDataSize;
v2 = a2;
if( (SdbGetTagFromTagID(a1, a2) & 0xF000) == 28672 && (unsigned int)SdbGetTagDataSize(a1, v2) == -1 )
{
AslLogCallPrintf(1ui64, "SdbpGetNextTagId", 0x4DDui64, "Reading from unfinished list");
return *(unsigned int *)(a1 + 20);
}
TagHeadSize = SdbpGetTagHeadSize(a1, v2);
if( !TagHeadSize )
return *(unsigned int *)(a1 + 20);
TagDataSize = SdbGetTagDataSize(a1, v2);
if( (*(_DWORD *)(a1 + 1328) & 1) == 0 )
TagDataSize = (TagDataSize + 1) & 0xFFFFFFFE;
return v2 + TagHeadSize + TagDataSize;
}Referenced by:
SdbGetFirstChild
SdbGetNextChild
SdbpGetNextIndexedRecord