StorPortInterlockedInsertHeadList, fonction (storport.h)
StorPortInterlockedInsertHeadList insère atomiquement une entrée au début d’une liste doublement liée de structures STOR_LIST_ENTRY.
Syntaxe
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
);
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] 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 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
StorPortInterlockedInsertHeadList retourne un code d’état tel que l’un des éléments 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) |