Partager via


Fonction KeRundownQueue (ntifs.h)

La routine KeRundownQueue nettoie un objet file d’attente, en vidant toutes 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 retournée

Si la file d’attente est vide, KeRundownQueue retourne NULL ; sinon, il 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 de réutiliser l’objet file d’attente.

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

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

À compter de Windows 7, KeRundownQueue réveille tous les threads en attente sur l’objet file d’attente avec STATUS_ABANDONED. Une fois retournés à partir de cette fonction, tous les threads futurs qui essaient d’attendre dans cette file d’attente échouent immédiatement avec STATUS_ABANDONED.

Avant Windows 7, KeRundownQueue ne réveillait pas les threads d’attente lors de l’exécution de la file d’attente. Pour éviter la possibilité de laisser des threads en attente pour toujours sur ces versions de système d’exploitation, KeRundownQueue ne doit jamais être appelé pour une file d’attente si des threads sont en attente sur l’objet file d’attente.

Pour plus d’informations sur l’utilisation des files d’attente internes gérées par les pilotes, consultez Files d’attente gérées par les pilotes.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Voir aussi

KeInitializeQueue

KeRemoveQueue