Compartilhar via


Macro NdisInterlockedPushEntrySList (ndis.h)

A função NdisInterlockedPushEntrySList insere uma entrada no cabeçalho de uma lista sequenciada e vinculada.

Sintaxe

void NdisInterlockedPushEntrySList(
        SListHead,
        SListEntry,
  [in]  Lock
);

Parâmetros

SListHead

Um ponteiro para o cabeçalho da lista já inicializada, vinculada à qual a entrada especificada deve ser inserida.

SListEntry

Um ponteiro para a entrada a ser inserida.

[in] Lock

Um ponteiro para um bloqueio de rotação fornecido pelo chamador, não atualmente mantido pelo chamador.

Valor de retorno

Nenhum

Observações

Antes da chamada inicial do driver, a função NdisInterlockedPushEntrySList, ela deve inicializar o cabeçalho da lista com o função NdisInitializeSListHead.

Um de driver não deve estar segurando o de bloqueio de determinado quando chama NdisInterlockedPushEntrySList . Se necessário, um driver deve chamar a função NdisReleaseSpinLock antes de chamar NdisInterlockedPushEntrySList. NdisInterlockedPushEntrySList deve adquirir esse bloqueio antes de inserir ListEntry à frente da lista para garantir que essa operação seja tratada de maneira segura para vários processadores.

O chamador deve fornecer armazenamento de residente para o de bloqueio, que deve ser inicializado com a função NdisAllocateSpinLock antes da chamada inicial para qualquer NdisInterlocked.. Rotina de SList.

Os drivers que repitam as operações de E/S devem usar uma fila intertravada vinculada duplamente e o NdisInterlockedInsert/Remove.. Listar funções, em vez de uma Lista S.

Se NdisInterlockedPushEntrySList for chamado em IRQL >= DISPATCH_LEVEL, o armazenamento do parâmetro ListHead e as entradas da lista deverão ser residentes

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisInterlockedPushEntrySList (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisInterlockedPushEntrySList (NDIS 5.1)) no Windows XP.
da Plataforma de Destino Área de trabalho
cabeçalho ndis.h (inclua Ndis.h)
IRQL Qualquer nível

Consulte também

NdisAllocateSpinLock

NdisFreeSpinLock

NdisInitializeSListHead

NdisInterlockedPopEntrySList

NdisQueryDepthSList

NdisReleaseSpinLock