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

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

Синтаксис

BOOLEAN RemoveEntryList(
  [in] PLIST_ENTRY Entry
);

Параметры

[in] Entry

Указатель на структуру LIST_ENTRY , представляющую удаляемую запись.

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

RemoveEntryList возвращает значение TRUE , если после удаления указанной записи список пуст. В противном случае подпрограмма возвращает значение FALSE , чтобы указать, что полученный список по-прежнему содержит одну или несколько записей. Дополнительные сведения см. в примечаниях.

Примечание До Microsoft Windows Server 2003 функция RemoveEntryList была определена для возврата VOID, а не BOOLEAN.
 

Примечания

RemoveEntryList удаляет запись, задав элемент Flinkзаписи перед записью, чтобы она указывала на запись после записи, и элемент Blinkзаписи после записи , чтобы он указывал на запись перед записью.

Возвращаемое значение можно использовать для определения момента удаления последней записи из списка. Пустой список состоит только из заголовка списка и не содержит записей списка.

Примечание Как правило, запись указывает на запись в списке, а не на голову списка. Однако запись может указывать на голову списка, в этом случае подпрограмма удаляет голову списка из списка, чтобы создать список без головы. Если Метод RemoveEntryList используется таким образом, возвращаемое значение обычно следует игнорировать. Чтобы определить, является ли список пустым, используйте подпрограмму IsListEmpty .
 
Сведения об использовании этой процедуры при реализации двудвойного связанного списка см. в разделе Singly и Doubly Linked Lists.

В Windows XP и Windows 2000 RemoveEntryList не возвращал значение. Начиная с Windows Server 2003 , RemoveEntryList возвращает значение BOOLEAN.

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

Требования

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

См. также

InitializeListHead

IsListEmpty

RemoveHeadList

RemoveTailList