Macro NdisInitializeSListHead (ndis.h)
A função NdisInitializeSListHead inicializa o cabeçalho de uma lista sequenciada, interligada 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.
Retornar valor
Nenhum
Comentários
NdisInitializeSListHead inicializa zero o cabeçalho de lista opaco 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 ser nãopagadas.
Qualquer driver que usa uma S-List deve fornecer um bloqueio de rotação para o NdisInterlockedPushEntrySList e Funções 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 da memória nãopagada, considere usar uma lista lookaside em vez de uma S-List.
Os drivers que repitam operações de E/S devem usar uma fila interligada duplamente vinculada e as funções NdisInterlockedInsertHeadList, NdisInterlockedInsertTailList e NdisInterlockedRemoveHeadList , 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 |
---|---|
Cliente mínimo com suporte | 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. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ndis.h (inclua Ndis.h) |
IRQL | Qualquer nível |