StorPortInterlockedPopEntrySList-Funktion (storport.h)
Entfernt ein Element aus der Vorderseite einer verwalteten storport verwalteten 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 Hostbusadapter (HBA).
[in, out] SListHead
Ein Zeiger auf eine STOR_SLIST_HEADER Struktur, die den Kopf einer singly verknüpften Liste darstellt. Diese Struktur gilt als undurchsichtig und dient nur für den Storport-Treiber.
[out] Result
Ein Zeiger auf einen Listeneinstiegspunkt. Der zurückgegebene Wert ist ein Zeiger auf das Element, das aus der Vorderseite der Liste entfernt wurde. Wenn die Liste leer ist, wird NULL- im Wert zurückgegeben, auf den durch Resultverwiesen wird.
Rückgabewert
StorPortInterlockedPopEntrySList gibt einen der folgenden Statuscodes zurück:
Rückgabecode | Beschreibung |
---|---|
|
Diese Funktion ist nicht auf dem aktiven Betriebssystem implementiert. |
|
Das Listenelement wurde erfolgreich aus der Liste entfernt oder ist bereits leer. |
|
Ein Zeiger in SListHead- oder Result- ist NULL-. |
Bemerkungen
Die StorPortInterlockedPopEntrySList- gibt auch STATUS_SUCCESS zurück, wenn sich keine Einträge in der Liste befinden. Der Zeigerwert, auf den Result verweist, muss für 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 dafür sorgen, dass für einen Listeneintrag an dem Speicherort, der vor einer Anpassung der Begrenzungsausrichtung abgerufen wurde, Arbeitsspeicher freizugeben. Der von Result verweiste Wert ist möglicherweise nicht der ursprüngliche Pufferspeicherort, der aufgrund einer Anpassung für MEMORY_ALLOCATION_ALIGNMENTzugewiesen wurde. Siehe Hinweise für StorPortInterlockedPushEntrySList.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Ab Windows 8 verfügbar. |
Zielplattform- | Universal |
Header- | storport.h (include Storport.h) |
IRQL- | <= DISPATCH_LEVEL |