Função ExInterlockedFlushSList (wdm.h)

A rotina ExInterlockedFlushSList remove atomicamente todas as entradas de uma lista sequenciada vinculada.

Sintaxe

NTKERNELAPI
PSLIST_ENTRY
FASTCALL
ExInterlockedFlushSList (
    _Inout_ PSLIST_HEADER ListHead
    );

Parâmetros

[in, out] ListHead

Um ponteiro para a estrutura SLIST_HEADER que serve como o cabeçalho para a lista vinculada sequenciada.

Retornar valor

Se houver entradas na lista especificada, ExInterlockedFlushSList retornará um ponteiro para o primeiro SLIST_ENTRY estrutura que era uma entrada na lista; caso contrário, retornará NULL.

Comentários

ExInterlockedFlushSList não exclui as estruturas de SLIST_ENTRY que compõem a lista; ele define apenas o ponteiro interno de ListHead para o início da lista como NULL. O driver deve liberar as entradas explicitamente.

A rotina retorna um ponteiro para o primeiro SLIST_ENTRY estrutura que estava na lista. O driver pode usar esse ponteiro para iterar pelas entradas.

Para obter mais informações sobre como usar essa rotina para implementar uma lista sequenciada vinculada, consulte Singly e Doubly Linked Listas.

Os chamadores de ExInterlockedFlushSList podem estar em execução em qualquer IRQL. O armazenamento para o parâmetro ListHead e as entradas de lista devem ser residentes em todas as IRQLs.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualquer nível (consulte a seção Comentários)

Confira também

ExInitializeSListHead