Partager via


KeRundownQueue, fonction (ntifs.h)

La routine KeRundownQueue nettoie un objet file d’attente, en vidant les entrées en file d’attente.

Syntaxe

PLIST_ENTRY KeRundownQueue(
  [in, out] PRKQUEUE Queue
);

Paramètres

[in, out] Queue

Pointeur vers un objet de file d’attente initialisé pour lequel l’appelant fournit un stockage résident dans un pool non paginé.

Valeur de retour

Si la file d’attente est vide, KeRundownQueue retourne NULL ; sinon, elle retourne l’adresse de la première entrée dans la file d’attente.

Remarques

Les systèmes de fichiers appellent KeRundownQueue pour ignorer toutes les entrées d’une file d’attente avant de libérer ou réutiliser l’objet de file d’attente.

Si l’objet file d’attente doit être réutilisé, l’appelant doit appeler KeInitializeQueue après avoir appelé KeRundownQueue, afin de réinitialiser l’objet de file d’attente avant de le réutiliser.

KeRundownQueue ne retourne aucune information sur le nombre d’entrées en file d’attente ignorées.

À compter de Windows 7, KeRundownQueue réveille tous les threads en attente sur l’objet file d’attente avec STATUS_ABANDONED. Après le retour de cette fonction, tous les threads futurs qui essaient d’attendre sur cette file d’attente échouent immédiatement avec STATUS_ABANDONED.

Avant Windows 7, KeRundownQueue n’a pas réveillé les threads en attente lorsque la file d’attente était exécutée. Pour éviter la possibilité de laisser des threads en attente pour toujours sur ces versions du système d’exploitation, KeRundownQueue ne doit jamais être appelé pour une file d’attente si des threads attendent l’objet de file d’attente.

Pour plus d’informations sur l’utilisation de files d’attente internes gérées par le pilote, consultez Driver-Managed files d’attente.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Voir aussi

KeInitializeQueue

keRemoveQueue