Partager via


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

Voir aussi

NdisAllocateSpinLock

NdisFreeSpinLock

NdisInitializeSListHead

NdisInterlockedPopEntrySList

NdisQueryDepthSList

NdisReleaseSpinLock