RtlpLookupLowBox
_RTL_ATOM_TABLE_REFERENCE *__stdcall RtlpLookupLowBox(
_RTL_ATOM_TABLE *AtomTable,
_RTL_ATOM_TABLE_ENTRY *AtomEntry,
UINT8 AtomDeletion){
int LowBoxId;
_RTL_ATOM_TABLE_REFERENCE **p_Reference;
_RTL_ATOM_TABLE_REFERENCE *result;
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) || AtomDeletion )
return 0i64;
else
return &AtomEntry->Reference;
}Referenced by:
RtlDeleteAtomFromAtomTable
RtlPinAtomInAtomTable
RtlQueryAtomInAtomTable
RtlQueryAtomsInAtomTable