Fonction StorPortInterlockedInsertTailList (storport.h)
La routine StorPortInterlockedInsertTailList insère atomiquement une entrée à la fin d’une liste doublement liée de structures STOR_LIST_ENTRY .
Syntaxe
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
);
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] ListEntry
Pointeur vers une structure STOR_LIST_ENTRY qui représente l’entrée à insérer dans la liste.
[in, out] Result
Pointeur vers une structure STOR_LIST_ENTRY qui représente la première entrée de la liste avant l’insertion de la nouvelle entrée.
[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
StorPortInterlockedInsertHeadList 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) |