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) |