Compartilhar via


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

Confira também

NdisInitializeNPagedLookasideList

NdisInterlockedPopEntrySList

NdisInterlockedPushEntrySList

NdisQueryDepthSList

NdisQueueIoWorkItem