Funzione ExInterlockedPopEntrySList (wdm.h)
La routine ExInterlockedPopEntrySList rimuove la prima voce da un elenco collegato sequenziato.
Sintassi
NTKERNELAPI
PSLIST_ENTRY
FASTCALL
ExInterlockedPopEntrySList (
_Inout_ PSLIST_HEADER ListHead,
_Inout_opt_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock
);
Parametri
[in, out] ListHead
Puntatore alla struttura SLIST_HEADER che funge da intestazione per l'elenco collegato sequenziato. ListHead deve essere stato inizializzato chiamando ExInitializeSListHead.
[in, out] Lock
Puntatore a una struttura KSPIN_LOCK che funge da blocco di rotazione usato per sincronizzare l'accesso all'elenco. L'archiviazione per il blocco spin deve essere residente e deve essere stata inizializzata chiamando KeInitializeSpinLock. È necessario usare questo blocco di spin solo con le routine Di elencoXxxexInterlocked .
Valore restituito
ExInterlockedPopEntrySList restituisce un puntatore alla prima struttura SLIST_ENTRY nell'elenco. Se l'elenco è vuoto, la routine restituisce NULL.
Commenti
Per altre informazioni sull'uso di questa routine per implementare un elenco collegato sequenziato, vedere Singly e Doubly Linked Elenchi.
In Windows 2000 i driver devono usare l'opzione -D_WIN2K_COMPAT_SLIST_USAGE per collegare correttamente il codice che usa ExInterlockedPopEntrySList.
ExInterlockedPopEntrySList può essere chiamato in qualsiasi IRQL. L'archiviazione per il parametro ListHead deve essere residente in tutti gli elenchi di integrazione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 2000. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualsiasi livello (vedere la sezione Osservazioni) |