Функция RemoveTailList (wdm.h)

Подпрограмма RemoveTailList удаляет запись из конца двукратного связанного списка структур LIST_ENTRY .

Синтаксис

PLIST_ENTRY RemoveTailList(
  [in, out] PLIST_ENTRY ListHead
);

Параметры

[in, out] ListHead

Указатель на структуру LIST_ENTRY , которая служит заголовком списка.

Возвращаемое значение

RemoveTailList возвращает указатель на запись, которая находилась в конце списка. Если список пуст, Функция RemoveTailList возвращает ListHead.

Примечания

RemoveTailList удаляет последнюю запись из списка, задав ListHead-Blink>, чтобы она указывала на вторую и последнюю запись в списке. Подпрограмма задает элемент Flink новой первой записи в ListHead. В случае, если список пуст, это фактически no-op.

Сведения об использовании этой процедуры при реализации двудвойного связанного списка см. в разделе Singly и Doubly Linked Lists.

Вызывающие функции InsertHeadList могут выполняться в любом IRQL. Если InsertHeadList вызывается в IRQL >= DISPATCH_LEVEL, хранилище для ListHead и записи списка должны быть резидентами.

Требования

   
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Рабочий стол
Заголовок wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h)
IRQL Любой уровень (см. раздел "Примечания")

См. также

InitializeListHead

IsListEmpty

RemoveEntryList

RemoveHeadList