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 tipo WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS.
Valor de retorno
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 do EvtDeviceWdmIrpDispatch ou a função de retorno de chamada EvtDeviceWdmIrpPreprocess chamada WdfDeviceWdmDispatchIrpToIoQueue.
Uma verificação de bug ocorre se um driver KMDF fornece um identificador de objeto inválido. Se um driver UMDF fornecer um identificador inválido, o processo de host do driver será encerrado.
Observações
Um driver chama WdfDeviceWdmDispatchIrpToIoQueue para especificar uma fila de destino para um IRP de entrada.
O driver pode chamar esse método de seu EvtDeviceWdmIrpPreprocess rotina de retorno de chamada ou de sua EvtDeviceWdmIrpDispatch retorno de chamada.
Se o driver chamar WdfDeviceWdmDispatchIrpToIoQueue de dentro de uma função de retorno de chamada EvtDeviceWdmIrpPreprocess, O driver deve chamar IoSkipCurrentIrpStackLocation ou IoCopyCurrentIrpStackLocationToNext antes de chamar WdfDeviceWdmDispatchIrpToIoQueue.
Para obter mais informações sobre como especificar filas para IRPs à medida que chegam, consulte Expedição de IRPs para Filas de E/S.
Requisitos
Requisito | Valor |
---|---|
da 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 de DDI | DriverCreate(kmdf), FwdIrpToIoQueueValid(kmdf) |