Freigeben über


StorPortInterlockedInsertTailList-Funktion (storport.h)

Die StorPortInterlockedInsertTailList routinemäßig einen Eintrag am Ende einer doubly verknüpften Liste STOR_LIST_ENTRY Strukturen einfügt.

Syntax

ULONG StorPortInterlockedInsertTailList(
  [in]      PVOID            HwDeviceExtension,
  [in, out] PSTOR_LIST_ENTRY ListHead,
  [in, out] PSTOR_LIST_ENTRY ListEntry,
  [in, out] PSTOR_LIST_ENTRY *Result,
  [in, out] PSTOR_KSPIN_LOCK Lock
);

Parameter

[in] HwDeviceExtension

Ein Zeiger auf die Hardwaregeräteerweiterung für den Hostbusadapter (HBA).

[in, out] ListHead

Zeigen Sie auf die STOR_LIST_ENTRY Struktur, die den Kopf der Liste darstellt.

[in, out] ListEntry

Zeigen Sie auf eine STOR_LIST_ENTRY-Struktur, die den Eintrag darstellt, der in die Liste eingefügt werden soll.

[in, out] Result

Zeigen Sie auf eine STOR_LIST_ENTRY-Struktur, die den ersten Eintrag der Liste darstellt, bevor der neue Eintrag eingefügt wurde.

[in, out] Lock

Ein Zeiger auf eine STOR_KSPIN_LOCK Struktur, die als Drehsperre dient, die zum Synchronisieren des Zugriffs auf die Liste verwendet wird. Der Speicher für die Drehungssperre muss resident sein und muss durch Aufrufen von StorPortInitializeSpinLockinitialisiert werden.

Sie müssen diese Drehsperre nur mit den StorPortInterlockedXxxList Routinen verwenden.

Rückgabewert

StorPortInterlockedInsertHeadList 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 Die Listenelemente wurden erfolgreich entfernt, oder die Liste ist bereits leer.
STOR_STATUS_INVALID_PARAMETER Ein Zeiger in ListHead- oder Result- ist NULL-.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- storport.h (include Storport.h)

Siehe auch

InitializeListHead-

InsertHeadList-

StorPortInitializeSpinLock

StorPortInterlockedInsertHeadList

StorPortInterlockedRemoveHeadList