Compartilhar via


Macro NdisInitializeListHead (ndis.h)

A função NdisInitializeListHead inicializa uma fila duplamente vinculada e mantida pelo driver.

Sintaxe

void NdisInitializeListHead(
  [in]  _ListHead
);

Parâmetros

[in] _ListHead

Um ponteiro para o armazenamento nãopagado alocado por driver para o cabeçalho da fila ou lista interligada.

Retornar valor

Nenhum

Comentários

NdisInitializeListHead pode ser chamado de uma função MiniportInitializeEx ou da rotina DriverEntry de um driver de protocolo se o driver enfileirar solicitações internamente. No entanto, os drivers de miniporto raramente configuram filas internas porque a biblioteca NDIS serializa solicitações e pacotes enviados para drivers de miniporta.

Qualquer driver NDIS que mantém uma fila interna é responsável por sincronizar os acessos das funções de driver a entradas enfileiradas. As funções NdisInterlockedXxxList garantem que apenas uma função de driver possa acessar entradas enfileiradas a qualquer momento, mesmo que o driver esteja em execução em um computador multiprocessador, pois a fila é protegida por um bloqueio de rotação fornecido pelo chamador.

Para uma fila interligada, o driver também deve fornecer armazenamento nãopagado para um bloqueio de rotação. Ele deve inicializar o bloqueio de rotação com a função NdisAllocateSpinLock antes de passar um ponteiro para esse bloqueio de rotação para qualquer uma das funções NdisInterlockedXxxList .

Os chamadores de NdisInitializeListHead podem estar em execução em qualquer IRQL. Se NdisInitializeListHead for chamado em IRQL >= DISPATCH_LEVEL o armazenamento para ListHead deverá ser residente.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisInitializeListHead (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisInitializeListHead (NDIS 5.1)) no Windows XP.
Plataforma de Destino Área de Trabalho
Cabeçalho ndis.h (inclua Ndis.h)
IRQL Qualquer nível (consulte a seção Comentários)

Confira também

DriverEntry de drivers de protocolo NDIS

MiniportInitializeEx

NdisAllocateSpinLock

NdisInterlockedInsertHeadList NdisInterlockedInsertTailList NdisInterlockedRemoveHeadList