Freigeben über


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
STOR_STATUS_NOT_IMPLEMENTED
Diese Funktion ist nicht auf dem aktiven Betriebssystem implementiert.
STOR_STATUS_SUCCESS
Das Listenelement wurde erfolgreich in die Liste eingefügt oder ist bereits leer.
STOR_STATUS_INVALID_PARAMETER
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

Siehe auch

StorPortInitializeSListHead-

StorPortInterlockedFlushSList

StorPortInterlockedPopEntrySList

StorPortQueryDepthSList-