IoReuseIrp function (wdm.h)

The IoReuseIrp routine reinitializes an IRP so that it can be reused.

Syntax

void IoReuseIrp(
  [in, out] PIRP     Irp,
  [in]      NTSTATUS Iostatus
);

Parameters

[in, out] Irp

Pointer to the IRP to be reinitialized for reuse.

[in] Iostatus

Specifies the NTSTATUS value to be set in the IRP after it is reinitialized.

Return value

None

Remarks

Drivers for Windows 2000 and later versions of Windows use IoReuseIrp to reuse an IRP.

A driver should use IoReuseIrp only on IRPs it previously allocated either as raw memory or with IoAllocateIrp. In particular, drivers should not use this routine for IRPs created with IoMakeAssociatedIrp, IoBuildSynchronousFsdRequest, IoBuildAsynchronousFsdRequest, or IoBuildDeviceIoControlRequest.

See Reusing IRPs for more details on how to reuse IRPs.

Requirements

Requirement Value
Minimum supported client Available starting with Windows 2000.
Target Platform Universal
Header wdm.h (include Ntddk.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL
DDI compliance rules HwStorPortProhibitedDDIs(storport), IoReuseIrp(wdm), IoReuseIrp2(wdm)

See also

IRP

IoAllocateIrp

IoInitializeIrp

IoMakeAssociatedIrp