Condividi tramite


Funzione KeRemoveDeviceQueue (wdm.h)

La routine KeRemoveDeviceQueue rimuove una voce dall'inizio di una coda del dispositivo specificata.

Sintassi

PKDEVICE_QUEUE_ENTRY KeRemoveDeviceQueue(
  [in, out] PKDEVICE_QUEUE DeviceQueue
);

Parametri

[in, out] DeviceQueue

Puntatore a un oggetto coda di dispositivi inizializzato per il quale il chiamante fornisce l'archiviazione.

Valore restituito

Se la coda del dispositivo è vuota ma è impostata su uno stato occupato, KeRemoveDeviceQueue restituisce NULL.

Osservazioni

Il blocco di selezione della coda del dispositivo specificato viene acquisito e lo stato della coda del dispositivo viene controllato. Se la coda del dispositivo è impostata su uno stato occupato e viene accodato un IRP, questa routine rimuove la coda e restituisce un puntatore all'IRP. Una chiamata a KeRemoveDeviceQueue quando l'oggetto coda del dispositivo è impostato su uno stato occupato, ma non viene accodato alcun runtime di integrazione causa una modifica dello stato a non occupato. Il blocco spin della coda del dispositivo specificato viene rilasciato.

È un errore chiamare KeRemoveDeviceQueue quando l'oggetto coda del dispositivo è impostato su uno stato non occupato.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 2000.
piattaforma di destinazione Universale
intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL DISPATCH_LEVEL
regole di conformità DDI HwStorPortProhibitedDDDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm)

Vedere anche

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveByKeyDeviceQueue

KeRemoveEntryDeviceQueue