Función IoStartNextPacketByKey (ntifs.h)

La rutina IoStartNextPacketByKey pone en cola el siguiente paquete de solicitud de E/S del objeto de dispositivo asociado especificado según un valor de clave de ordenación especificado y llama a la rutina StartIo del controlador con ese IRP.

Sintaxis

void IoStartNextPacketByKey(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] BOOLEAN        Cancelable,
  [in] ULONG          Key
);

Parámetros

[in] DeviceObject

Puntero al objeto de dispositivo para el que se va a poner en cola el IRP.

[in] Cancelable

Especifica si se pueden cancelar los IRP de la cola de dispositivos.

[in] Key

Especifica la clave de ordenación que determina la entrada que se va a quitar de la cola.

Valor devuelto

None

Observaciones

Si no hay irP actualmente en la cola de dispositivos para el objeto de dispositivo de destino, esta rutina simplemente devuelve el control al autor de la llamada.

Si el controlador pasó un puntero a una rutina de cancelación cuando llamó a IoStartPacket, debe pasar TRUE en el parámetro Cancelable de esta rutina. Si Cancelable es TRUE, el administrador de E/S usará el bloqueo de número de cancelación para proteger la cola del dispositivo y el IRP actual.

Los controladores que no tienen una rutina StartIo no pueden llamar a IoStartNextPacketByKey.

Los autores de llamadas de IoStartNextPacketByKey deben ejecutarse en IRQL <= DISPATCH_LEVEL. Normalmente, se llama a esta rutina desde la rutina DpcForIsr o CustomDpc del controlador de dispositivo, que se ejecutan en IRQL = DISPATCH_LEVEL.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000
Plataforma de destino Universal
Encabezado ntifs.h (incluye Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Consulte también

DEVICE_OBJECT

IoStartNextPacket

IoStartPacket