Macro NdisInitializeListHead (ndis.h)
La función NdisInitializeListHead inicializa una cola doblemente vinculada y mantenida por el controlador.
Sintaxis
void NdisInitializeListHead(
[in] _ListHead
);
Parámetros
[in] _ListHead
Puntero al almacenamiento no paginado asignado por el controlador para el encabezado de la cola o lista interbloqueadas.
Valor devuelto
Ninguno
Observaciones
NdisInitializeListHead se puede llamar desde una función de MiniportInitializeEx o desde la rutina de DriverEntry de un controlador de protocolo si el controlador pone en cola las solicitudes internamente. Sin embargo, los controladores de miniportar rara vez configuran colas internas porque la biblioteca NDIS serializa las solicitudes y los paquetes enviados a los controladores de miniport.
Cualquier controlador NDIS que mantenga una cola interna es responsable de sincronizar los accesos de las funciones del controlador a las entradas en cola. Las funciones de NdisInterlockedXxxList garantizan que solo una función del controlador pueda acceder a entradas en cola en cualquier momento dado, incluso si el controlador se ejecuta en un equipo de varios procesadores, ya que la cola está protegida por un bloqueo de número proporcionado por el autor de la llamada.
Para una cola interbloqueada, el controlador también debe proporcionar almacenamiento no paginado para un bloqueo de número. Debe inicializar el bloqueo de número con la función de NdisAllocateSpinLock antes de pasar un puntero a ese bloqueo de número a cualquiera de las funciones de NdisInterlockedXxxList.
Los autores de llamadas de NdisInitializeListHead se pueden ejecutar en cualquier IRQL. Si se llama a NdisInitializeListHead en IRQL >= DISPATCH_LEVEL el almacenamiento de ListHead debe estar residente.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Compatible con controladores NDIS 6.0 y NDIS 5.1 (consulte NdisInitializeListHead (NDIS 5.1)) en Windows Vista. Compatible con controladores NDIS 5.1 (consulte NdisInitializeListHead (NDIS 5.1)) en Windows XP. |
de la plataforma de destino de | Escritorio |
encabezado de | ndis.h (incluya Ndis.h) |
irQL | Cualquier nivel (consulte la sección Comentarios) |
Consulte también
DriverEntry of NDIS Protocol Drivers
NdisInterlockedInsertHeadList NdisInterlockedInsertTailList NdisInterlockedRemoveHeadList