Funzione StorPortInterlockedPopEntrySList (storport.h)
Rimuove un elemento dalla parte anteriore di un elenco collegato gestito di Storport. L'accesso all'elenco viene sincronizzato in un sistema multiprocessore.
Sintassi
Sintassi
ULONG StorPortInterlockedPopEntrySList(
[in] PVOID HwDeviceExtension,
[in, out] PSTOR_SLIST_HEADER SListHead,
[out] PSTOR_SLIST_ENTRY *Result
);
Parametri
[in] HwDeviceExtension
Puntatore all'estensione del dispositivo hardware per la scheda bus host (HBA).
[in, out] SListHead
Puntatore a una struttura STOR_SLIST_HEADER che rappresenta l'intestazione di un elenco collegato singly. Questa struttura è considerata opaca e viene utilizzata solo dal driver Storport.
[out] Result
Puntatore a un puntatore di ingresso dell'elenco. Il valore restituito è un puntatore all'elemento rimosso dalla parte anteriore dell'elenco. Se l'elenco è vuoto, NULL viene restituito nel valore a cui punta Result.
Valore restituito
StorPortInterlockedPopEntrySList restituisce uno dei codici di stato seguenti:
Codice restituito | Descrizione |
---|---|
|
Questa funzione non viene implementata nel sistema operativo attivo. |
|
L'elemento di elenco è stato rimosso correttamente dall'elenco o è già vuoto. |
|
Un puntatore in SListHead o Result è NULL. |
Osservazioni
Anche StorPortInterlockedPopEntrySList restituirà STATUS_SUCCESS quando non sono presenti voci nell'elenco. Il valore del puntatore a cui fa riferimento Result deve essere valutato per NULL per verificare che non sia stata restituita alcuna voce.
StorPortInterlockedPopEntrySList non libera la voce di elenco restituita. Qualsiasi codice di deallocazione per l'elenco deve prestare attenzione a liberare memoria allocata per una voce di elenco nella posizione ottenuta prima di qualsiasi regolazione per l'allineamento dei limiti. Il valore a cui punta Result potrebbe non essere la posizione del buffer originale allocata a causa di una regolazione per MEMORY_ALLOCATION_ALIGNMENT. Vedere le osservazioni per StorPortInterlockedPushEntrySList.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 8. |
piattaforma di destinazione | Universale |
intestazione | storport.h (include Storport.h) |
IRQL | <= DISPATCH_LEVEL |