Función KeInsertDeviceQueue (wdm.h)
La rutina KeInsertDeviceQueue adquiere el bloqueo de número para el objeto de cola de dispositivos especificado y, si la cola de dispositivos está establecida en un estado ocupado, pone en cola la entrada especificada.
BOOLEAN KeInsertDeviceQueue(
[in, out] PKDEVICE_QUEUE DeviceQueue,
[in, out] PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
);
[in, out] DeviceQueue
Puntero a un objeto de control de tipo cola de dispositivos para el que el autor de la llamada proporciona el almacenamiento.
[in, out] DeviceQueueEntry
Puntero a la entrada de cola de dispositivos que se va a insertar.
Si la cola de dispositivos está vacía, se devuelve false y el DeviceQueueEntry no se inserta en la cola de dispositivos.
Si la cola de dispositivos está establecida en un estado ocupado, el deviceQueueEntry especificado se inserta en la cola de la cola del dispositivo y se libera el bloqueo de número de cola de dispositivo.
Si KeInsertDeviceQueue devuelve FALSE, la entrada no se puso en cola y el autor de la llamada debe comenzar a procesar el IRP. Una llamada a KeInsertDeviceQueue o KeInsertByKeyDeviceQueue cuando la cola está vacía hace que la cola cambie de un estado no ocupado a un estado ocupado.
Esta rutina es para el código que pone en cola una solicitud de E/S a un controlador de dispositivo.
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible a partir de Windows 2000. |
de la plataforma de destino de | Universal |
encabezado de | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | DISPATCH_LEVEL |
reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), MarkingQueuedIrps(wdm) |