StorPortInterlockedPopEntrySList-Funktion (storport.h)
Entfernt ein Element von der Vorderseite einer von Storport verwalteten, singly verknüpften Liste. Der Zugriff auf die Liste wird auf einem Multiprozessorsystem synchronisiert.
Syntax
Syntax
ULONG StorPortInterlockedPopEntrySList(
[in] PVOID HwDeviceExtension,
[in, out] PSTOR_SLIST_HEADER SListHead,
[out] PSTOR_SLIST_ENTRY *Result
);
Parameter
[in] HwDeviceExtension
Ein Zeiger auf die Hardwaregeräteerweiterung für den Host Bus Adapter (HBA).
[in, out] SListHead
Ein Zeiger auf eine STOR_SLIST_HEADER-Struktur , die den Kopf einer einfach verknüpften Liste darstellt. Diese Struktur gilt als undurchsichtig und kann nur vom Storport-Treiber verwendet werden.
[out] Result
Ein Zeiger auf einen Listeneintragszeiger. Der zurückgegebene Wert ist ein Zeiger auf das Element, das von der Anfang der Liste entfernt wurde. Wenn die Liste leer ist, wird NULL im Wert zurückgegeben, auf den von Result verwiesen wird.
Rückgabewert
StorPortInterlockedPopEntrySList gibt einen der folgenden status-Codes zurück:
Rückgabecode | Beschreibung |
---|---|
|
Diese Funktion ist auf dem aktiven Betriebssystem nicht implementiert. |
|
Das Listenelement wurde erfolgreich aus der Liste entfernt oder ist bereits leer. |
|
Ein Zeiger in SListHead oder Result ist NULL. |
Hinweise
StorPortInterlockedPopEntrySList gibt auch STATUS_SUCCESS zurück, wenn sich keine Einträge in der Liste befinden. Der von Result referenzierte Zeigerwert muss auf NULL ausgewertet werden, um zu überprüfen, ob kein Eintrag zurückgegeben wurde.
StorPortInterlockedPopEntrySList gibt den zurückgegebenen Listeneintrag nicht frei. Jeder Deallocation-Code für die Liste muss darauf achten, dass der Speicher freigegeben wird, der für einen Listeneintrag an der Position zugewiesen wurde, die vor der Anpassung für die Begrenzungsausrichtung abgerufen wurde. Der wert, auf den von Result verwiesen wird, ist möglicherweise nicht der ursprüngliche Pufferspeicherort, der aufgrund einer Anpassung für MEMORY_ALLOCATION_ALIGNMENT zugewiesen wurde. Weitere Informationen finden Sie unter Hinweise zu StorPortInterlockedPushEntrySList.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8. |
Zielplattform | Universell |
Header | storport.h (einschließlich Storport.h) |
IRQL | <= DISPATCH_LEVEL |