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 pelo driver para o cabeçalho da fila ou lista intertravada.

Valor de retorno

Nenhum

Observações

NdisInitializeListHead pode ser chamado de uma função MiniportInitializeEx ou da rotina DriverEntry de um driver de protocolo se o driver fizer 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 miniporto.

Qualquer driver NDIS que mantém uma fila interna é responsável por sincronizar os acessos das funções de driver às entradas enfileiradas. As funções NdisInterlockedXxxList garantem que apenas uma função de driver possa acessar entradas na fila 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 intertravada, 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 no IRQL >= DISPATCH_LEVEL o armazenamento para listhead deverá ser residente.

Requisitos

Requisito Valor
de cliente com suporte mínimo 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.
da Plataforma de Destino Área de trabalho
cabeçalho ndis.h (inclua Ndis.h)
IRQL Qualquer nível (consulte a seção Comentários)

Consulte também

DriverEntry de drivers de protocolo NDIS

MiniportInitializeEx

NdisAllocateSpinLock

NdisInterlockedInsertHeadList NdisInterlockedInsertTailList NdisInterlockedRemoveHeadList