Macro NdisInterlockedPushEntrySList (ndis.h)
La fonction NdisInterlockedPushEntrySList insère une entrée à la tête d’une liste liée séquencée et séquencée.
Syntaxe
void NdisInterlockedPushEntrySList(
SListHead,
SListEntry,
[in] Lock
);
Paramètres
SListHead
Pointeur vers la tête de la liste séquencée déjà initialisée dans laquelle l’entrée spécifiée doit être insérée.
SListEntry
Pointeur vers l’entrée à insérer.
[in] Lock
Pointeur vers un verrou de rotation fourni par l’appelant, qui n’est pas conservé actuellement par l’appelant.
Valeur de retour
Aucun
Remarques
Avant l’appel initial du pilote, la fonction NdisInterlockedPushEntrySList, elle doit initialiser la tête de liste avec la fonction fonction NdisInitializeSListHead.
Un pilote ne doit pas contenir le de verrouillage donné lorsqu’il appelle NdisInterlockedPushEntrySList. Si nécessaire, un pilote doit appeler la fonction NdisReleaseSpinLock avant d’appeler NdisInterlockedPushEntrySList. NdisInterlockedPushEntrySList doit acquérir ce verrou lui-même avant d’insérer ListEntry à la tête de la liste pour s’assurer que cette opération est gérée de manière multiprocesseur sécurisée.
L’appelant doit fournir un stockage résident pour l'de verrouillage, qui doit être initialisé avec la fonction NdisAllocateSpinLock avant l’appel initial à n’importe quel NdisInterlocked.. SList routine.
Les pilotes qui réessayent les opérations d’E/S doivent utiliser une file d’attente interblocée doublement liée et le NdisInterlockedInsert/Remove.. Répertoriez fonctions, au lieu d’une liste S.
Si NdisInterlockedPushEntrySList est appelé au >IRQL = DISPATCH_LEVEL, le stockage du paramètre ListHead et les entrées de liste doivent être résidentes
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir NdisInterlockedPushEntrySList (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir NdisInterlockedPushEntrySList (NDIS 5.1)) dans Windows XP. |
plateforme cible | Bureau |
d’en-tête | ndis.h (include Ndis.h) |
IRQL | N’importe quel niveau |