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