Macro NdisInitializeSListHead (ndis.h)
A função NdisInitializeSListHead inicializa a cabeça de uma lista sequenciada, intertravada e vinculada.
Sintaxe
void NdisInitializeSListHead(
[in] SListHead
);
Parâmetros
[in] SListHead
Um ponteiro para o cabeçalho da lista fornecida pelo chamador a ser inicializado, que deve estar na memória residente. A estrutura deve estar alinhada a 16 bytes em plataformas de 64 bits.
Valor de retorno
Nenhum
Observações
NdisInitializeSListHead inicializa a cabeça de lista opaca em SListHead e define o ponteiro de primeira entrada como NULL.
O número de sequência em uma Lista S é incrementado sempre que uma entrada é inserida ou removida da lista.
Todas as entradas em uma Lista S devem não ser pagas.
Qualquer driver que usa uma S-List deve fornecer um bloqueio de rotação para o NdisInterlockedPushEntrySList e funções de NdisInterlockedPopEntrySList. Antes de sua chamada inicial para qualquer uma dessas funções, o driver deve inicializar o bloqueio de rotação com a função NdisAllocateSpinLock. Para evitar deadlocks, o driver não deve manter esse bloqueio de rotação quando faz chamadas subsequentes para NdisInterlockedPushEntrySList e NdisInterlockedPopEntrySList.
Para gerenciar um pool de entradas de tamanho fixo de memória nãopagada, considere usar uma lista lookaside em vez de uma Lista S.
Os drivers que repitam operações de E/S devem usar uma fila intertravada duplamente vinculada e o NdisInterlockedInsertHeadList, NdisInterlockedInsertTailListe NdisInterlockedRemoveHeadList funções, em vez de uma S-List.
Se NdisInitializeSListHead for chamado em IRQL >= DISPATCH_LEVEL, o armazenamento do parâmetro SListHead deverá ser residente.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisInitializeSListHead (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisInitializeSListHead (NDIS 5.1)) no Windows XP. |
da Plataforma de Destino | Área de trabalho |
cabeçalho | ndis.h (inclua Ndis.h) |
IRQL | Qualquer nível |