Partager via


StorPortInterlockedPushEntrySList, fonction (storport.h)

Insère 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

ULONG StorPortInterlockedPushEntrySList(
  [in]      PVOID                              HwDeviceExtension,
  [in, out] PSTOR_SLIST_HEADER                 SListHead,
  [in, out] __drv_aliasesMem PSTOR_SLIST_ENTRY SListEntry,
  [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.

[in, out] SListEntry

Pointeur vers une structure STOR_SLIST_ENTRY qui représente l’élément à insérer dans la liste liée de manièreing.

[out] Result

Pointeur vers un pointeur d’entrée de liste. La valeur retournée est un pointeur vers l’élément précédent qui existait à l’avant de la liste. Cet élément précédent reste dans la liste derrière le nouvel élément ajouté à partir de SListEntry. Si la liste est vide, NULL est retournée dans la valeur pointée par Result.

Valeur de retour

StorPortInterlockedPushEntrySList retourne l’un des codes d’état 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
L’élément de liste a été correctement inséré dans la liste ou est déjà vide.
STOR_STATUS_INVALID_PARAMETER
Un pointeur dans SListHead, SListEntryou Result est NULL.

Remarques

Lorsqu’elle est allouée par l’appelant, la structure STOR_SLIST_ENTRY pointée par SListEntry doit être alignée à une limite de MEMORY_ALLOCATION_ALIGNMENT. MEMORY_ALLOCATION_ALIGNMENT est défini dans miniport.h.

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

Voir aussi

StorPortInitializeSListHead

StorPortInterlockedFlushSList

StorPortInterlockedPopEntrySList

StorPortQueryDepthSList