Macro NdisInitializeSListHead (ndis.h)
La fonction NdisInitializeSListHead initialise la tête d’une liste liée séquencée, interlockée et liée.
Syntaxe
void NdisInitializeSListHead(
[in] SListHead
);
Paramètres
[in] SListHead
Pointeur vers la tête de liste fournie par l’appelant à initialiser, qui doit être en mémoire résidente. La structure doit être alignée sur des plateformes 64 bits.
Valeur de retour
Aucun
Remarques
NdisInitializeSListHead zéro initialise la tête de liste opaque à SListHead et définit le pointeur de première entrée sur NULL.
Le numéro de séquence d’une liste S est incrémenté chaque fois qu’une entrée est insérée ou supprimée de la liste.
Toutes les entrées d’une liste S doivent être non paginées.
Tout pilote qui utilise une liste S doit fournir un verrou de rotation au NdisInterlockedPushEntrySList et fonctions NdisInterlockedPopEntrySList. Avant son appel initial à l’une de ces fonctions, le pilote doit initialiser le verrou de rotation avec la fonction NdisAllocateSpinLock. Pour empêcher les blocages, le pilote ne doit pas contenir ce verrou de rotation lorsqu’il effectue des appels ultérieurs à NdisInterlockedPushEntrySList et NdisInterlockedPopEntrySList.
Pour gérer un pool d’entrées de taille fixe à partir de la mémoire non paginé, envisagez d’utiliser une liste de choix au lieu d’une liste S-List.
Les pilotes qui réessayent les opérations d’E/S doivent utiliser une file d’attente interblocée doublement liée et les NdisInterlockedInsertHeadList, NdisInterlockedInsertTailListet NdisInterlockedRemoveHeadList fonctions, plutôt qu’une liste S.
Si NdisInitializeSListHead est appelé au >IRQL = DISPATCH_LEVEL, le stockage du paramètre SListHead doit être résident.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Pris en charge pour les pilotes NDIS 6.0 et NDIS 5.1 (voir NdisInitializeSListHead (NDIS 5.1)) dans Windows Vista. Pris en charge pour les pilotes NDIS 5.1 (voir NdisInitializeSListHead (NDIS 5.1)) dans Windows XP. |
plateforme cible | Bureau |
d’en-tête | ndis.h (include Ndis.h) |
IRQL | N’importe quel niveau |