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 sequenciada e 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 mantido atualmente pelo chamador.

Retornar valor

Nenhum

Comentários

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

Um driver não deve estar segurando o Bloqueio especificado 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 no cabeçalho da lista para garantir que essa operação seja tratada de maneira segura para vários processadores.

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

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

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

Requisitos

Requisito Valor
Cliente mínimo com suporte 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.
Plataforma de Destino Área de Trabalho
Cabeçalho ndis.h (inclua Ndis.h)
IRQL Qualquer nível

Confira também

NdisAllocateSpinLock

NdisFreeSpinLock

NdisInitializeSListHead

NdisInterlockedPopEntrySList

NdisQueryDepthSList

NdisReleaseSpinLock