IoSetHardErrorOrVerifyDevice

VOID
    IoSetHardErrorOrVerifyDevice(

        IN PIRP  Irp,
        IN PDEVICE_OBJECT  DeviceObject
        );

IoSetHardErrorOrVerifyDevice must be called before completing an IRP if a removable-media driver’s call to IoIsErrorUserInduced returns TRUE.

Parameters

Irp
Points to the IRP for which the driver encountered a user-induced error.
DeviceObject
Points to the target device to be verified for the I/O operation.

Comments

A file system driver uses the corresponding file object of the specified device object to send a popup to the user who can correct the error and retry the operation or cancel it.

Calling IoSetHardErrorOrVerifyDevice ensures that the popup is sent to the user thread that originally made the I/O request to the target device on which the media might have changed.

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

See Also

IoIsErrorUserInduced, IoRaiseHardError, IoRaiseInformationalHardError