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
NdisInterlockedInsertHeadList NdisInterlockedInsertTailList NdisInterlockedRemoveHeadList