#ifndef _NTRTL_H
FORCEINLINE
PLIST_ENTRY
NTAPI
RemoveHeadList(
_Inout_ PLIST_ENTRY ListHead
)
{
PLIST_ENTRY Entry;
PLIST_ENTRY NextEntry;
Entry = ListHead->Flink;
NextEntry = Entry->Flink;
#if !defined(NO_LIST_ENTRY_CHECKS)
if ((Entry->Blink != ListHead) || (NextEntry->Blink != Entry))
{
RtlFatalListEntryError((PVOID)ListHead, (PVOID)Entry, (PVOID)NextEntry);
}
#endif
ListHead->Flink = NextEntry;
NextEntry->Blink = ListHead;
return Entry;
}
View code on GitHub
This function is documented in Windows Driver Kit.