RtlpLookupLowBox
_RTL_ATOM_TABLE_REFERENCE *__fastcall RtlpLookupLowBox(
_RTL_ATOM_TABLE *AtomTable,
_RTL_ATOM_TABLE_ENTRY *AtomEntry,
INT64 AtomDeletion){
char v3;
int LowBoxId;
_RTL_ATOM_TABLE_REFERENCE **p_Reference;
_RTL_ATOM_TABLE_REFERENCE *result;
v3 = AtomDeletion;
if( (AtomTable->Flags & 1) != 0 )
LowBoxId = 0;
else
LowBoxId = RtlpQueryLowBoxId();
p_Reference = (_RTL_ATOM_TABLE_REFERENCE **)&AtomEntry->Reference;
if( !LowBoxId )
return &AtomEntry->Reference;
for( result = *p_Reference;
result != (_RTL_ATOM_TABLE_REFERENCE *)p_Reference;
result = (_RTL_ATOM_TABLE_REFERENCE *)result->LowBoxList.Flink )
{
if( result->LowBoxID == LowBoxId )
return result;
}
if( !RtlpAllowsLowBoxAccess(AtomEntry) || v3 )
return 0i64;
else
return &AtomEntry->Reference;
}Referenced by:
RtlDeleteAtomFromAtomTable
RtlPinAtomInAtomTable
RtlQueryAtomInAtomTable
RtlQueryAtomsInAtomTable