Compartilhar via


Função ExInterlockedFlushSList (wdm.h)

A rotina ExInterlockedFlushSList remove atomicamente todas as entradas de uma lista vinculada sequenciadamente 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 sequenciadamente vinculada.

Valor de retorno

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

Observações

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

A rotina retorna um ponteiro para a primeira estrutura de SLIST_ENTRY 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 vinculada em sequência, consulte Listas Vinculadas Singly e Doubly.

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

Requisitos

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

Consulte também

ExInitializeSListHead