AppendTailListNoFence - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTRTL_H

FORCEINLINE
VOID
AppendTailListNoFence(
    _Inout_ PLIST_ENTRY ListHead,
    _Inout_ PLIST_ENTRY ListToAppend
    )
{
    PLIST_ENTRY ListEnd = (PLIST_ENTRY)ReadPointerNoFence((volatile const PVOID*)&ListHead->Blink);

    RtlCheckListEntry(ListHead);
    RtlCheckListEntry(ListToAppend);

    WritePointerNoFence((volatile PVOID*)&ListHead->Blink->Flink, ListToAppend);
    WritePointerNoFence((volatile PVOID*)&ListHead->Blink, ListToAppend->Blink);
    WritePointerNoFence((volatile PVOID*)&ListToAppend->Blink->Flink, ListHead);
    WritePointerNoFence((volatile PVOID*)&ListToAppend->Blink, ListEnd);
    return;
}

#endif

View code on GitHub

NtDoc

No description available.