IoSetTopLevelIrp function (ntifs.h)

The IoSetTopLevelIrp routine sets the value of the TopLevelIrp field of the current thread.

Syntax

void IoSetTopLevelIrp(
  [in, optional] PIRP Irp
);

Parameters

[in, optional] Irp

I/O request packet (IRP) pointer to be stored in the TopLevelIrp field of the current thread.

Return value

None

Remarks

IoSetTopLevelIrp sets the value of the TopLevelIrp field in the thread object for the current thread. This value can be NULL, a pointer to the current IRP, or an FSRTL flag. For more information about these values and what they mean, see the reference entry for IoGetTopLevelIrp.

Only file systems can call IoSetTopLevelIrp. File system filters and minifilters cannot safely call this routine, because doing so can cause deadlocks.

Requirements

Requirement Value
Target Platform Universal
Header ntifs.h (include Rx.h, Wdm.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

See also

IoGetTopLevelIrp