StorPortInterlockedRemoveHeadList-Funktion (storport.h)
Die StorPortInterlockedRemoveHeadList-Routine entfernt einen Eintrag vom Anfang einer doubly verknüpften Liste von STOR_LIST_ENTRY Strukturen.
Syntax
ULONG StorPortInterlockedRemoveHeadList(
[in] PVOID HwDeviceExtension,
[in, out] PSTOR_LIST_ENTRY ListHead,
[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] Result
Zeigen Sie auf eine STOR_LIST_ENTRY Struktur, die den Eintrag darstellt, der aus der Liste entfernt wurde. Wenn die Liste leer war, gibt die Routine NULL-zurück.
[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
StorPortInterlockedRemoveHeadList 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 | 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) |