Condividi tramite


Funzione WdfDeviceWdmDispatchIrpToIoQueue (wdfdevice.h)

[Si applica a KMDF e UMDF]

Il metodo WdfDeviceWdmDispatchIrpToIoQueue inoltra L'IRP a una coda di I/O specificata.

Sintassi

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

Parametri

[in] Device

Handle per un oggetto dispositivo framework.

[in] Irp

Puntatore a una struttura IRP.

[in] Queue

Handle per un oggetto coda del framework.

[in] Flags

Un OR bit per bit di flag tipizzato di WDF_DISPATCH_IRP_TO_IO_QUEUE_FLAGS.

Valore restituito

Il metodo WdfDeviceWdmDispatchIrpToIoQueue restituisce un valore NTSTATUS fornito dal framework o dal driver in seguito all'elaborazione dell'IRP. Il driver deve usare questo valore restituito come valore restituito per il EvtDeviceWdmIrpDispatch o il EvtDeviceWdmIrpPreprocess funzione di callback che ha chiamato WdfDeviceWdmDispatchIrpToIoQueue.

Se un driver KMDF fornisce un handle di oggetto non valido, si verifica un controllo di bug. Se un driver UMDF fornisce un handle non valido, il processo host del driver termina.

Osservazioni:

Un driver chiama WdfDeviceWdmDispatchIrpToIoQueue per specificare una coda di destinazione per un IRP in ingresso.

Il driver può chiamare questo metodo dal relativo EvtDeviceWdmIrpPreprocess routine di callback o dal relativo EvtDeviceWdmIrpDispatch callback.

Se il driver chiama WdfDeviceWdmDispatchIrpToIoQueue da un EvtDeviceWdmIrpPreprocess funzione di callback, Il driver deve chiamare IoSkipCurrentIrpStackLocation o IoCopyCurrentIrpStackLocationToNext prima di chiamare WdfDeviceWdmDispatchIrpToIoQueue.

Per altre informazioni sulla specifica delle code per i runtime di integrazione man mano che arrivano, vedere Invio di indirizzi DI runtime di integrazione alle code di I/O.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
versione minima di KMDF 1.11
versione minima di UMDF 2.17
intestazione wdfdevice.h (include Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= LIVELLO_DI_INVIO
regole di conformità DDI DriverCreate(kmdf), FwdIrpToIoQueueValid(kmdf)

Vedere anche

EvtDeviceWdmIrpDispatch

EvtDeviceWdmIrpPreprocess