Fonction StorPortInterlockedPopEntrySList (storport.h)
Supprime un élément à l’avant d’une liste liée gérée par Storport. L’accès à la liste est synchronisé sur un système multiprocesseur.
Syntax
Syntaxe
ULONG StorPortInterlockedPopEntrySList(
[in] PVOID HwDeviceExtension,
[in, out] PSTOR_SLIST_HEADER SListHead,
[out] PSTOR_SLIST_ENTRY *Result
);
Paramètres
[in] HwDeviceExtension
Pointeur vers l’extension de périphérique matériel pour l’adaptateur de bus hôte (HBA).
[in, out] SListHead
Pointeur vers une structure de STOR_SLIST_HEADER qui représente le tête d’une liste liée séparément. Cette structure est considérée comme opaque et est uniquement destinée au pilote Storport.
[out] Result
Pointeur vers un pointeur d’entrée de liste. La valeur retournée est un pointeur vers l’élément supprimé de l’avant de la liste. Si la liste est vide, null est retourné dans la valeur pointée par Result.
Valeur retournée
StorPortInterlockedPopEntrySList retourne l’un des codes status suivants :
Code de retour | Description |
---|---|
|
Cette fonction n’est pas implémentée sur le système d’exploitation actif. |
|
L’élément de liste a été supprimé de la liste ou est déjà vide. |
|
Un pointeur dans SListHead ou Result est NULL. |
Remarques
StorPortInterlockedPopEntrySList retourne également STATUS_SUCCESS lorsqu’aucune entrée ne se trouve dans la liste. La valeur de pointeur référencée par Result doit être évaluée pour null pour vérifier qu’aucune entrée n’a été retournée.
StorPortInterlockedPopEntrySList ne libère pas l’entrée de liste qu’il retourne. Tout code de désallocation pour la liste doit veiller à libérer la mémoire allouée pour une entrée de liste à l’emplacement obtenu avant tout ajustement pour l’alignement des limites. La valeur pointée par Result peut ne pas être l’emplacement de mémoire tampon d’origine alloué en raison d’un ajustement pour MEMORY_ALLOCATION_ALIGNMENT. Consultez les remarques relatives à StorPortInterlockedPushEntrySList.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 8. |
Plateforme cible | Universal |
En-tête | storport.h (inclure Storport.h) |
IRQL | <= DISPATCH_LEVEL |