StorPortInterlockedInsertHeadList-Funktion (storport.h)
Die StorPortInterlockedInsertHeadList fügt einen Eintrag am Anfang einer doubly verknüpften Liste von STOR_LIST_ENTRY Strukturen atomisch ein.
Syntax
ULONG StorPortInterlockedInsertHeadList(
[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 gibt einen Statuscode wie einen der folgenden 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) |