RtlEndEnumerationHashTable
VOID __stdcall RtlEndEnumerationHashTable(
_RTL_DYNAMIC_HASH_TABLE *HashTable,
_RTL_DYNAMIC_HASH_TABLE_ENUMERATOR *Enumerator){
_LIST_ENTRY *Flink;
_LIST_ENTRY *Blink;
--HashTable->NumEnumerators;
Flink = Enumerator->HashEntry.Linkage.Flink;
if( (_RTL_DYNAMIC_HASH_TABLE_ENUMERATOR *)Enumerator->HashEntry.Linkage.Flink != Enumerator )
{
if( (_RTL_DYNAMIC_HASH_TABLE_ENUMERATOR *)Flink->Blink != Enumerator
|| (Blink = Enumerator->HashEntry.Linkage.Blink, (_RTL_DYNAMIC_HASH_TABLE_ENUMERATOR *)Blink->Flink != Enumerator) )
{
__fastfail(3u);
}
Blink->Flink = Flink;
Flink->Blink = Blink;
if( Enumerator->ChainHead->Flink == Enumerator->ChainHead )
--HashTable->NonEmptyBuckets;
}
Enumerator->ChainHead = 0i64;
}Referenced by:
RtlEndWeakEnumerationHashTable
SepCleanupMarkedForDeletionEntries
SepFindMatchingLowBoxNumberEntries
SepRmDestroyCapTable