Llegeix en anglès

Comparteix a través de


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.

Sintaxis

C++
BOOLEAN KeInsertDeviceQueue(
  [in, out] PKDEVICE_QUEUE       DeviceQueue,
  [in, out] PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
);

Parámetros

[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.

Valor devuelto

Si la cola de dispositivos está vacía, se devuelve false y el DeviceQueueEntry no se inserta en la cola de dispositivos.

Observaciones

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.

Requisitos

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)

Consulte también

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeRemoveDeviceQueue

KeRemoveEntryDeviceQueue