Freigeben über


StorPortInterlockedPushEntrySList-Funktion (storport.h)

Fügt ein Element am Anfang einer von Storport verwalteten, singly verknüpften 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 Host bus adapter (HBA).

[in, out] SListHead

Ein Zeiger auf eine STOR_SLIST_HEADER-Struktur , die den Kopf einer eng verknüpften Liste darstellt. Diese Struktur gilt als undurchsichtig und kann nur vom Storport-Treiber verwendet werden.

[in, out] SListEntry

Ein Zeiger auf eine STOR_SLIST_ENTRY-Struktur , die das Element darstellt, das in die eng verknüpfte Liste eingefügt werden soll.

[out] Result

Ein Zeiger auf einen Listeneintragszeiger. Der zurückgegebene Wert ist ein Zeiger auf das vorherige Element, das oben in der Liste vorhanden war. Dieses vorherige Element verbleibt in der Liste hinter dem Element, das aus SListEntry hinzugefügt wurde. Wenn die Liste leer ist, wird NULL als Wert zurückgegeben, auf den von Result verwiesen wird.

Rückgabewert

StorPortInterlockedPushEntrySList gibt einen der folgenden status Codes zurück:

Rückgabecode Beschreibung
STOR_STATUS_NOT_IMPLEMENTED
Diese Funktion ist auf dem aktiven Betriebssystem nicht 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.

Hinweise

Wenn sie vom Aufrufer zugeordnet wird, muss die STOR_SLIST_ENTRY Struktur, auf die SListEntry verweist, an einer MEMORY_ALLOCATION_ALIGNMENT Grenze ausgerichtet werden. MEMORY_ALLOCATION_ALIGNMENT wird in miniport.h definiert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 8.
Zielplattform Universell
Header storport.h (Storport.h einschließen)
IRQL <= DISPATCH_LEVEL

Weitere Informationen

StorPortInitializeSListHead

StorPortInterlockedFlushSList

StorPortInterlockedPopEntrySList

StorPortQueryDepthSList