Função RemoveEntryList (wdm.h)

A rotina RemoveEntryList remove uma entrada de uma lista duplamente vinculada de estruturas LIST_ENTRY .

Sintaxe

BOOLEAN RemoveEntryList(
  [in] PLIST_ENTRY Entry
);

Parâmetros

[in] Entry

Ponteiro para a estrutura LIST_ENTRY que representa a entrada a ser removida.

Valor retornado

RemoveEntryList retornará TRUE se, após a remoção da entrada designada, a lista estiver vazia. Caso contrário, a rotina retornará FALSE para indicar que a lista resultante ainda contém uma ou mais entradas. Para obter informações, consulte Comentários.

Nota Antes do Microsoft Windows Server 2003, RemoveEntryList era definido para retornar VOID, não BOOLEAN.
 

Comentários

RemoveEntryList remove a entrada definindo o membro Flink da entrada antes da Entrada para apontar para a entrada após a Entrada e o membro Blink da entrada após a Entrada para apontar para a entrada antes da Entrada.

O valor retornado pode ser usado para detectar quando a última entrada é removida da lista. Uma lista vazia consiste apenas em uma cabeça de lista e nenhuma entrada de lista.

Nota Normalmente, a Entrada aponta para uma entrada em uma lista e não para o cabeçalho da lista. No entanto, o Entry pode apontar para um cabeçalho de lista, nesse caso, a rotina remove o cabeçalho da lista para produzir uma lista sem cabeça. Quando RemoveEntryList é usado dessa forma, o valor retornado normalmente deve ser ignorado. Para determinar se uma lista está vazia, use a rotina IsListEmpty .
 
Para obter informações sobre como usar essa rotina ao implementar uma lista duplamente vinculada, consulte Singly e Doubly Linked Lists.

No Windows XP e no Windows 2000, RemoveEntryList não retornou um valor. A partir do Windows Server 2003, RemoveEntryList retorna um valor BOOLEAN.

Os chamadores do RemoveEntryList podem estar em execução em qualquer IRQL. Se RemoveEntryList for chamado em IRQL >= DISPATCH_LEVEL, o armazenamento para as entradas da lista deverá ser residente.

Requisitos

   
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Área de Trabalho
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h)
IRQL Qualquer nível (seção Ver Comentários)
Regras de conformidade DDI DoubleExFreePool(storport)

Confira também

InitializeListHead

IsListEmpty

RemoveHeadList

RemoveTailList