StorPortInterlockedPopEntrySList, fonction (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.
Syntaxe
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 STOR_SLIST_HEADER qui représente la tête d’une liste liée de manière singly. Cette structure est considérée comme opaque et est utilisée uniquement par le 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ée dans la valeur indiquée par Result.
Valeur de retour
StorPortInterlockedPopEntrySList retourne l’un des codes d’état suivants :
Retourner le code | 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
Le StorPortInterlockedPopEntrySList retourne également STATUS_SUCCESS lorsqu’aucune entrée n’est 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’elle retourne. Tout code de désallocation de la liste doit prendre soin de libérer de 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 Résultat 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 8. |
plateforme cible | Universel |
d’en-tête | storport.h (include Storport.h) |
IRQL | <= DISPATCH_LEVEL |