Compartilhar via


Função InterlockedPushListSList

Descrição

Insere uma lista vinculada na frente de outra lista vinculada.

O acesso às listas é sincronizado em um sistema multiprocessador.

PSLIST_ENTRY  FASTCALL InterlockedPushListSList(
  _Inout_ PSLIST_HEADER ListHead,
  _Inout_ PSLIST_ENTRY  List,
  _Inout_ PSLIST_ENTRY  ListEnd,
  _In_    ULONG         Count
);

Parâmetros

ListHead [entrada, saída]

Ponteiro para uma estrutura SLIST_HEADER que representa o cabeçalho de uma lista vinculada isoladamente. A lista especificada pelos parâmetros List e ListEnd é inserida na frente dessa lista.

List [entrada, saída]

Ponteiro para uma estrutura SLIST_ENTRY que representa o primeiro item da lista a ser inserido.

ListEnd [entrada, saída]

Ponteiro para uma estrutura SLIST_ENTRY que representa o último item da lista a ser inserido.

Contagem [entrada]

O número de itens da lista a serem inseridos.

Retornos

O valor de retorno é o primeiro item anterior na lista especificado pelo parâmetro ListHead. Se a lista estava vazia anteriormente, o valor retornado é NULL.

Comentários

Todos os itens da lista precisam estar alinhados em um limite MEMORY_ALLOCATION_ALIGNMENT, caso contrário, essa função se comportará de maneira imprevisível. Confira _aligned_malloc.

Windows 8 e Windows Server 2012: essa função foi substituída por InterlockedPushListSListEx.

Ao compilar com NTDDI_VERSION definido como NTDDI_WIN8 ou superior, as chamadas para InterlockedPushListSList irão para InterlockedPushListSListEx em vez disso.

Confira também

Listas vinculadas isoladamente intertravadas

InterlockedPopEntrySList

InterlockedPushEntrySList

InterlockedPushListSListEx

InterlockedFlushSList

SLIST_ENTRY

Usando listas vinculadas isoladamente

APIs Vertdll disponíveis em enclaves de SBV