Condividi tramite


Macro NdisInterlockedPushEntrySList (ndis.h)

La funzione NdisInterlockedPushEntrySList inserisce una voce all'inizio di un elenco collegato sequenziato.

Sintassi

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

Parametri

SListHead

Puntatore all'intestazione dell'elenco sequenziato già inizializzato, collegato in modo singly in cui deve essere inserita la voce specificata.

SListEntry

Puntatore alla voce da inserire.

[in] Lock

Puntatore a un blocco di rotazione fornito dal chiamante, attualmente non mantenuto dal chiamante.

Valore restituito

nessuno

Osservazioni

Prima della chiamata iniziale del driver alla funzione NdisInterlockedPushEntrySList , deve inizializzare l'intestazione dell'elenco con il Funzione NdisInitializeSListHead .

Un driver non deve contenere il blocco specificato quando chiama NdisInterlockedPushEntrySList. Se necessario, un driver deve chiamare la funzione NdisReleaseSpinLock prima di chiamare NdisInterlockedPushEntrySList. NdisInterlockedPushEntrySList deve acquisire questo blocco prima di inserire ListEntry all'inizio dell'elenco per assicurarsi che questa operazione venga gestita in modo sicuro per più processi.

Il chiamante deve fornire l'archiviazione residente per Lock, che deve essere inizializzata con la funzione NdisAllocateSpinLock prima della chiamata iniziale a qualsiasi NdisInterlocked. Routine SList .

I driver che ritentano le operazioni di I/O devono usare una coda interlock collegata doubly e NdisInterlockedInsert/Remove.. Funzioni di elenco , invece di un elenco S.

Se NdisInterlockedPushEntrySList viene chiamato in IRQL >= DISPATCH_LEVEL, l'archiviazione per il parametro ListHead e le voci dell'elenco devono essere residenti

Requisiti

Requisito Valore
Client minimo supportato Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere NdisInterlockedPushEntrySList (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere NdisInterlockedPushEntrySList (NDIS 5.1)) in Windows XP.
Piattaforma di destinazione Desktop
Intestazione ndis.h (include Ndis.h)
IRQL Qualsiasi livello

Vedi anche

NdisAllocateSpinLock

NdisFreeSpinLock

NdisInitializeSListHead

NdisInterlockedPopEntrySList

NdisQueryDepthSList

NdisReleaseSpinLock