Partager via


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
STOR_STATUS_NOT_IMPLEMENTED
Cette fonction n’est pas implémentée sur le système d’exploitation actif.
STOR_STATUS_SUCCESS
L’élément de liste a été supprimé de la liste ou est déjà vide.
STOR_STATUS_INVALID_PARAMETER
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

Voir aussi

StorPortInitializesListHead

StorPortInterlockedFlushsList

StorPortInterlockedPushEntrysList

StorPortQueryDepthSList