Funzione KeInsertDeviceQueue (wdm.h)
La routine KeInsertDeviceQueue acquisisce il blocco di selezione per l'oggetto coda di dispositivi specificato e, se la coda del dispositivo è impostata su uno stato occupato, accoda la voce specificata.
Sintassi
BOOLEAN KeInsertDeviceQueue(
[in, out] PKDEVICE_QUEUE DeviceQueue,
[in, out] PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
);
Parametri
[in, out] DeviceQueue
Puntatore a un oggetto controllo di tipo coda del dispositivo per cui il chiamante fornisce la risorsa di archiviazione.
[in, out] DeviceQueueEntry
Puntatore alla voce della coda del dispositivo da inserire.
Valore restituito
Se la coda del dispositivo è vuota, viene restituito FALSE e DeviceQueueEntry non viene inserito nella coda del dispositivo.
Commenti
Se la coda del dispositivo è impostata su uno stato occupato, l'oggetto DeviceQueueEntry specificato viene inserito nella parte finale della coda del dispositivo e viene rilasciato il blocco spin della coda del dispositivo.
Se KeInsertDeviceQueue restituisce FALSE, la voce non è stata accodata e il chiamante deve iniziare a elaborare l'IRP. Una chiamata a KeInsertDeviceQueue o KeInsertByKeyDeviceQueue quando la coda è vuota fa sì che la coda del dispositivo cambi da uno stato non occupato a uno stato occupato.
Questa routine è per il codice che accoda una richiesta di I/O a un driver di dispositivo.
Requisiti
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), MarkingQueuedIrps(wdm) |