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 |