Função WdfDeviceWdmDispatchIrpToIoQueue (wdfdevice.h)

[Aplica-se a KMDF e UMDF]

O método WdfDeviceWdmDispatchIrpToIoQueue encaminha o IRP para uma fila de E/S especificada.

Sintaxe

NTSTATUS WdfDeviceWdmDispatchIrpToIoQueue(
  [in] WDFDEVICE Device,
  [in] PIRP      Irp,
  [in] WDFQUEUE  Queue,
  [in] ULONG     Flags
);

Parâmetros

[in] Device

Um identificador para um objeto de dispositivo de estrutura.

[in] Irp

Um ponteiro para uma estrutura IRP.

[in] Queue

Um identificador para um objeto de fila de estrutura.

[in] Flags

Um OR bit a bit de sinalizadores do tipo WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS.

Retornar valor

O método WdfDeviceWdmDispatchIrpToIoQueue retorna um valor NTSTATUS que a estrutura ou o driver fornece como resultado do processamento do IRP. O driver deve usar esse valor retornado como o valor retornado para a função de retorno de chamada EvtDeviceWdmIrpDispatch ou EvtDeviceWdmIrpPreprocess que chamou WdfDeviceWdmDispatchIrpToIoQueue.

Um bug marcar ocorrerá se um driver KMDF fornecer um identificador de objeto inválido. Se um driver UMDF fornecer um identificador inválido, o processo de host do driver será encerrado.

Comentários

Um driver chama WdfDeviceWdmDispatchIrpToIoQueue para especificar uma fila de destino para um IRP de entrada.

O driver pode chamar esse método de sua rotina de retorno de chamada EvtDeviceWdmIrpPreprocess ou de seu retorno de chamada EvtDeviceWdmIrpDispatch .

Se o driver chamar WdfDeviceWdmDispatchIrpToIoQueue de dentro de uma função de retorno de chamada EvtDeviceWdmIrpPreprocess , o driver deverá chamar IoSkipCurrentIrpStackLocation ou IoCopyCurrentIrpStackLocationToNext antes de chamar WdfDeviceWdmDispatchIrpToIoQueue.

Para obter mais informações sobre como especificar filas para IRPs à medida que elas chegam, consulte Expedindo IRPs para filas de E/S.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.11
Versão mínima do UMDF 2.17
Cabeçalho wdfdevice.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Regras de conformidade da DDI DriverCreate(kmdf), FwdIrpToIoQueueValid(kmdf)

Confira também

EvtDeviceWdmIrpDispatch

EvtDeviceWdmIrpPreprocess