Partager via


StorPortInterlockedRemoveHeadList, fonction (storport.h)

La routine StorPortInterlockedRemoveHeadList supprime une entrée du début d’une liste doublement liée de structures STOR_LIST_ENTRY.

Syntaxe

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

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension de périphérique matériel pour l’adaptateur de bus hôte (HBA).

[in, out] ListHead

Pointeur vers la structure STOR_LIST_ENTRY qui représente la tête de la liste.

[in, out] Result

Pointeur vers une structure STOR_LIST_ENTRY qui représente l’entrée supprimée de la liste. Si la liste était vide, la routine retourne NULL .

[in, out] Lock

Pointeur vers une structure STOR_KSPIN_LOCK qui sert de verrou de rotation utilisé pour synchroniser l’accès à la liste. Le stockage du verrou de rotation doit être résident et doit avoir été initialisé en appelant StorPortInitializeSpinLock.

Vous devez utiliser ce verrou de rotation uniquement avec les routines StorPortInterlockedXxxList.

Valeur de retour

StorPortInterlockedRemoveHeadList retourne l’un des codes d’état suivants :

Retourner le code Description
STOR_STATUS_NOT_IMPLEMENTED Cette fonction n’est pas implémentée sur le système d’exploitation actif.
STOR_STATUS_SUCCESS Les éléments de liste ont été supprimés correctement ou la liste est déjà vide.
STOR_STATUS_INVALID_PARAMETER Un pointeur dans ListHead ou Result est NULL.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête storport.h (include Storport.h)

Voir aussi

InitializeListHead

InsertHeadList

StorPortInitializeSpinLock

StorPortInterlockedInsertHeadList

StorPortInterlockedInsertTailList