// ntddk.h
BOOLEAN IoRaiseInformationalHardError(
[in] NTSTATUS ErrorStatus,
[in, optional] PUNICODE_STRING String,
[in, optional] PKTHREAD Thread
);
View the official Windows Driver Kit DDI reference
No description available.
The IoRaiseInformationalHardError routine sends a dialog box to the user, warning about a device I/O error that indicates why a user I/O request failed.
ErrorStatus
[in]The error status code (IO_ERR_XXX).
String
[in, optional]A pointer to a Unicode string, which provides additional information about the error. Some NT status codes require a string parameter, such as a file or directory name. If the specified ErrorStatus value does not require a string parameter, set String to NULL.
Thread
[in, optional]A pointer to the thread whose IRP was failed due to the error specified by the ErrorStatus parameter.
IoRaiseInformationalHardError returns TRUE if the dialog box was successfully queued. This routine returns FALSE if dialog boxes are disabled for Thread, a pool allocation failed, too many dialog boxes are already queued, or an equivalent dialog box is already pending a user response (such as waiting for the user to press RETURN).
IoRaiseInformationalHardError takes a system-defined NT error value as a parameter. Driver writers can use the event log APIs to communicate driver-defined event strings to the user.
IoRaiseInformationalHardError behaves as follows:
If a previous call to the IoSetThreadHardErrorMode routine disabled hard errors for the specified thread, IoRaiseInformationalHardError returns FALSE.
Starting with Windows Vista, if the routine is called from a thread in session 0 (that is, from any system thread), no dialog box appears when the routine succeeds and returns TRUE.