StorPortInterlockedPushEntrySList-Funktion (storport.h)
Fügt ein Element an der Vorderseite einer verwalteten verknüpften Storport-Liste ein. Der Zugriff auf die Liste wird auf einem Multiprozessorsystem synchronisiert.
Syntax
ULONG StorPortInterlockedPushEntrySList(
[in] PVOID HwDeviceExtension,
[in, out] PSTOR_SLIST_HEADER SListHead,
[in, out] __drv_aliasesMem PSTOR_SLIST_ENTRY SListEntry,
[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.
[in, out] SListEntry
Ein Zeiger auf eine STOR_SLIST_ENTRY Struktur, die das Element darstellt, das in die verknüpfte Liste eingefügt werden soll.
[out] Result
Ein Zeiger auf einen Listeneinstiegspunkt. Der zurückgegebene Wert ist ein Zeiger auf das vorherige Element, das am Anfang der Liste vorhanden ist. Dieses vorherige Element verbleibt in der Liste hinter dem Element, das aus SListEntryhinzugefügt wurde. Wenn die Liste leer ist, wird NULL- im Wert zurückgegeben, auf den durch Resultverwiesen wird.
Rückgabewert
StorPortInterlockedPushEntrySList gibt einen der folgenden Statuscodes zurück:
Rückgabecode | Beschreibung |
---|---|
|
Diese Funktion ist nicht auf dem aktiven Betriebssystem implementiert. |
|
Das Listenelement wurde erfolgreich in die Liste eingefügt oder ist bereits leer. |
|
Ein Zeiger in SListHead, SListEntry-oder Result- ist NULL-. |
Bemerkungen
Bei der Zuordnung durch den Aufrufer muss die STOR_SLIST_ENTRY Struktur, auf die SListEntry- verweist, an einer MEMORY_ALLOCATION_ALIGNMENT Grenze ausgerichtet werden. MEMORY_ALLOCATION_ALIGNMENT wird in miniport.hdefiniert.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Ab Windows 8 verfügbar. |
Zielplattform- | Universal |
Header- | storport.h (include Storport.h) |
IRQL- | <= DISPATCH_LEVEL |