Compartir a través de


Macro NdisInterlockedPushEntrySList (ndis.h)

La función NdisInterlockedPushEntrySList inserta una entrada en el encabezado de una lista vinculada secuenciada.

Sintaxis

void NdisInterlockedPushEntrySList(
        SListHead,
        SListEntry,
  [in]  Lock
);

Parámetros

SListHead

Puntero al encabezado de la lista ya inicializada, vinculada de forma cansada en la que se va a insertar la entrada especificada.

SListEntry

Puntero a la entrada que se va a insertar.

[in] Lock

Puntero a un bloqueo de número proporcionado por el autor de la llamada, no mantenido actualmente por el autor de la llamada.

Valor devuelto

None

Observaciones

Antes de que el controlador llame inicialmente a la función NdisInterlockedPushEntrySList , debe inicializar el encabezado de lista con el Función NdisInitializeSListHead .

Un controlador no debe mantener el bloqueo especificado cuando llama a NdisInterlockedPushEntrySList. Si es necesario, un controlador debe llamar a la función NdisReleaseSpinLock antes de llamar a NdisInterlockedPushEntrySList. NdisInterlockedPushEntrySList debe adquirir este bloqueo antes de insertar ListEntry en la cabecera de la lista para asegurarse de que esta operación se controla de forma segura para varios procesadores.

El autor de la llamada debe proporcionar almacenamiento residente para lock, que debe inicializarse con la función NdisAllocateSpinLock antes de la llamada inicial a cualquier NdisInterlocked. Rutina SList .

Los controladores que reintenten las operaciones de E/S deben usar una cola de interbloqueo doblemente vinculada y NdisInterlockedInsert/Remove.. Enumerar funciones, en lugar de una S-List.

Si se llama a NdisInterlockedPushEntrySList en IRQL >= DISPATCH_LEVEL, el almacenamiento del parámetro ListHead y las entradas de lista deben estar residentes.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con los controladores NDIS 6.0 y NDIS 5.1 (consulte NdisInterlockedPushEntrySList (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulte NdisInterlockedPushEntrySList (NDIS 5.1)) en Windows XP.
Plataforma de destino Escritorio
Encabezado ndis.h (incluya Ndis.h)
IRQL Cualquier nivel

Consulte también

NdisAllocateSpinLock

NdisFreeSpinLock

NdisInitializeSListHead

NdisInterlockedPopEntrySList

NdisQueryDepthSList

NdisReleaseSpinLock