Funzione KeRundownQueue (ntifs.h)

La routine KeRundownQueue pulisce un oggetto coda, scaricando tutte le 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 l'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.

Commenti

I file system chiamano KeRundownQueue per rimuovere tutte le voci da una coda prima di liberare o riutilizzare l'oggetto coda.

Se l'oggetto coda deve essere riutilizzato, il chiamante deve chiamare KeInitializeQueue dopo aver chiamato KeRundownQueue, per reinizializzare l'oggetto coda prima di riutilizzarlo.

KeRundownQueue non restituisce alcuna informazione 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 la restituzione 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 di lasciare i thread in attesa per sempre in queste versioni del sistema operativo, KeRundownQueue non deve mai essere chiamato per una coda se un thread è in attesa sull'oggetto coda.

Per altre informazioni sull'uso delle code interne gestite dal driver, vedere Code gestite da driver.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Vedi anche

KeInitializeQueue

KeRemoveQueue