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