Export (0) Print
Expand All
Expand Minimize

IoForwardIrpSynchronously routine

The IoForwardIrpSynchronously routine sends an IRP to a specified driver and waits for that driver to complete the IRP.

Syntax


BOOLEAN IoForwardIrpSynchronously(
  _In_  PDEVICE_OBJECT DeviceObject,
  _In_  PIRP Irp
);

Parameters

DeviceObject [in]

Specifies the device object of the driver to which the IRP is sent.

Irp [in]

Specifies the IRP to send.

Return value

IoForwardIrpSynchronously returns TRUE if the IRP is sent successfully. Otherwise, it returns FALSE.

Remarks

Use the IoForwardIrpSynchronously routine to synchronously forward the current IRP to the next driver in the stack. (To asynchronously forward the IRP, use the IoCopyCurrentIrpStackLocationToNext, IoCallDriver, and IoSetCompletionRoutine routines.)

The IoForwardIrpSynchronously routine copies the current stack location to the next stack location. That stack location is then used as the current stack location by the driver specified in DeviceObject. If no next stack location is available, the routine returns FALSE. If the routine returns TRUE, then the IRP has been sent to the specified driver, and that driver has completed its processing of this IRP.

Requirements

Version

Available in Windows XP and later versions of Windows.

Header

Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)

Library

Ntoskrnl.lib

IRQL

<= APC_LEVEL

DDI compliance rules

PnpIrpCompletion

See also

IoCopyCurrentIrpStackLocationToNext
IoCallDriver
IoSetCompletionRoutine

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft