IoSetStartIoAttributes function (ntifs.h)

The IoSetStartIoAttributes routine sets attributes for the driver's StartIo routine.


void IoSetStartIoAttributes(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] BOOLEAN        DeferredStartIo,
  [in] BOOLEAN        NonCancelable


[in] DeviceObject

Pointer to the device object for the driver's device.

[in] DeferredStartIo

If TRUE, the I/O manager will defer any call to the driver's StartIo routine while the driver is already inside the routine. In particular, if the StartIo routine calls IoStartNextPacket, the StartIo routine will not be called again until the current invocation completes. The default is FALSE.

[in] NonCancelable

If TRUE, the IRP cannot be canceled once it has been dequeued by a call to IoStartNextPacket. The default is FALSE. Drivers that set this member to FALSE must synchronize their IRP handling with the cancel spin lock.

Return value



Requirement Value
Minimum supported client Windows XP
Target Platform Universal
Header ntifs.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Any level
DDI compliance rules HwStorPortProhibitedDDIs(storport), StartIoCancel(wdm), StartIoRecursion(wdm)

See also