Previous Next

IoReuseIrp

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

VOID 
  IoReuseIrp(
    IN OUT PIRP  Irp,
    IN NTSTATUS  Status
    );

Parameters

Irp
Pointer to the IRP to be reinitialized for reuse.
Status
Specifies the NTSTATUS value to be set in the IRP after it is reinitialized.

Return Value

None

Headers

Declared in ntddk.h. Include ntddk.h.

Comments

Drivers for Windows 2000 and later operating systems 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.

Callers of IoReuseIrp must be running at IRQL <= DISPATCH_LEVEL.

See Also

IoInitializeIrp, IoAllocateIrp, IoMakeAssociatedIrp, IRP