Partager via


Fonction StorPortInterlockedRemoveHeadList (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 le début 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 de 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 verrouillage de rotation uniquement avec les routines StorPortInterlockedXxxList .

Valeur retournée

StorPortInterlockedRemoveHeadList retourne l’un des codes status suivants :

Code de retour 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.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête storport.h (inclure Storport.h)

Voir aussi

InitializeListHead

InsertHeadList

StorPortInitializeSpinLock

StorPortInterlockedInsertHeadList

StorPortInterlockedInsertTailList