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'inizio dell'elenco sequenziato già inizializzato, in cui deve essere inserita la voce specificata.
SListEntry
Puntatore alla voce da inserire.
[in] Lock
Puntatore a un blocco spin fornito dal chiamante, non attualmente mantenuto dal chiamante.
Valore restituito
Nessuno
Osservazioni
Prima della chiamata iniziale del driver alla funzione NdisInterlockedPushEntrySList, deve inizializzare la testa dell'elenco con il funzione NdisInitializeSListHead.
Un driver non deve contenere l'lock 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 spazio di archiviazione residente per la Lock, che deve essere inizializzato con la funzione NdisAllocateSpinLock prima della chiamata iniziale a qualsiasi NdisInterlocked. Routine di SList.
I driver che ritentano le operazioni di I/O devono usare una coda interlock collegata doubly e la NdisInterlockedInsert/Remove.. Elencare le funzioni di anziché un elenco S.
Se NdisInterlockedPushEntrySList viene chiamato in IRQL >= DISPATCH_LEVEL, lo spazio di archiviazione per il parametro ListHead e le voci dell'elenco devono essere residenti
Fabbisogno
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 |