Partager via


StorPortInterlockedPushEntrySList, fonction (storport.h)

Insère un élément au début d’une liste liée de manière unique 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 de STOR_SLIST_HEADER qui représente la tête d’une liste liée séparément. Cette structure est considérée comme opaque et est destinée uniquement au pilote Storport.

[in, out] SListEntry

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

[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 au début 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, la valeur NULL est retournée dans la valeur pointée par Result.

Valeur retournée

StorPortInterlockedPushEntrySList 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é correctement inséré dans la liste ou est déjà vide.
STOR_STATUS_INVALID_PARAMETER
Un pointeur dans SListHead, SListEntry ou 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 MEMORY_ALLOCATION_ALIGNMENT . MEMORY_ALLOCATION_ALIGNMENT est défini dans miniport.h.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans à partir de Windows 8.
Plateforme cible Universal
En-tête storport.h (inclure Storport.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

StorPortInitializesListHead

StorPortInterlockedFlushsList

StorPortInterlockedPopEntrysList

StorPortQueryDepthSList