Funzione KeRundownQueue (ntifs.h)
La routine KeRundownQueue pulisce un oggetto coda, scaricando eventuali voci in coda.
Sintassi
PLIST_ENTRY KeRundownQueue(
[in, out] PRKQUEUE Queue
);
Parametri
[in, out] Queue
Puntatore a un oggetto coda inizializzato per il quale il chiamante fornisce spazio di archiviazione residente nel pool non di paging.
Valore restituito
Se la coda è vuota, KeRundownQueue restituisce null; in caso contrario, restituisce l'indirizzo della prima voce nella coda.
Osservazioni
I file system chiamano KeRundownQueue per rimuovere tutte le voci da una coda prima di liberare o riutilizzare l'oggetto coda.
Se l'oggetto queue deve essere riutilizzato, il chiamante deve chiamare KeInitializeQueue dopo aver chiamato KeRundownQueue, per reinizializzare l'oggetto coda prima di riutilizzarlo.
KeRundownQueue non restituisce informazioni sul numero di voci in coda eliminate.
A partire da Windows 7, KeRundownQueue riattiva tutti i thread attualmente in attesa dell'oggetto coda con STATUS_ABANDONED. Dopo aver restituito da questa funzione, tutti i thread futuri che tentano di attendere in questa coda avranno immediatamente esito negativo con STATUS_ABANDONED.
Prima di Windows 7, KeRundownQueue non riattivava i thread in attesa durante il rundown della coda. Per evitare la possibilità di lasciare i thread in attesa per sempre in queste versioni del sistema operativo, KeRundownQueue non deve mai essere chiamato per una coda se i thread sono in attesa sull'oggetto coda.
Per altre informazioni sull'uso di code interne gestite dal driver, vedere Driver-Managed Code.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | ntifs.h (include Ntifs.h) |
libreria | NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |