IoForwardIrpSynchronously function (wdm.h)
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
[in] DeviceObject
Specifies the device object of the driver to which the IRP is sent.
[in] Irp
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
Requirement | Value |
---|---|
Minimum supported client | Available in Windows XP and later versions of Windows. |
Target Platform | Universal |
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
DDI compliance rules | PnpIrpCompletion(wdm) |