Función IoRaiseInformationalHardError (ntddk.h)
La rutina IoRaiseInformationalHardError envía un cuadro de diálogo al usuario, advertencia sobre un error de E/S del dispositivo que indica por qué se produjo un error en una solicitud de E/S de usuario.
Sintaxis
BOOLEAN IoRaiseInformationalHardError(
[in] NTSTATUS ErrorStatus,
[in, optional] PUNICODE_STRING String,
[in, optional] PKTHREAD Thread
);
Parámetros
[in] ErrorStatus
Código de estado de error (IO_ERR_XXX).
[in, optional] String
Puntero a una cadena Unicode, que proporciona información adicional sobre el error. Algunos códigos de estado NT requieren un parámetro de cadena, como un nombre de archivo o directorio. Si el valor ErrorStatus especificado no requiere un parámetro de cadena, establezca String en NULL.
[in, optional] Thread
Puntero al subproceso cuyo IRP no se pudo realizar debido al error especificado por el parámetro ErrorStatus .
Valor devuelto
IoRaiseInformationalHardError devuelve TRUE si el cuadro de diálogo se puso en cola correctamente. Esta rutina devuelve FALSE si los cuadros de diálogo están deshabilitados para Subproceso, error de asignación de grupo, demasiados cuadros de diálogo ya están en cola o un cuadro de diálogo equivalente ya está pendiente de una respuesta de usuario (por ejemplo, esperando que el usuario presione RETURN).
Comentarios
IoRaiseInformationalHardError toma un valor de error NT definido por el sistema como parámetro. Los escritores de controladores pueden usar las API de registro de eventos para comunicar las cadenas de eventos definidas por el controlador al usuario.
IoRaiseInformationalHardError se comporta de la siguiente manera:
- Si el valor errorStatus proporcionado por el autor de la llamada no está definido en el archivo de encabezado Ntstatus.h, el cuadro de diálogo siempre muestra el texto "Error duro desconocido", independientemente del valor del parámetro String .
- Si el valor errorStatus proporcionado por el autor de la llamada se define en el archivo de encabezado Ntstatus.h, el cuadro de diálogo muestra el texto de la cadena MessageText correspondiente en Ntstatus.h, independientemente del valor del parámetro String .
- Si el parámetro Thread especifica un subproceso que se ejecuta en el contexto de una aplicación, el texto que se muestra en el cuadro de diálogo es "ApplicationName.exe - Error del sistema".
- Si el parámetro Thread es NULL o si especifica un subproceso que se ejecuta en un contexto arbitrario del sistema, el texto que se muestra en el cuadro de diálogo es "System Process - System Error". Además, si el valor ErrorStatus se define en Ntstatus.h, la cadena MessageText correspondiente se escribe en el registro de eventos.
A partir de Windows Vista, si se llama a la rutina desde un subproceso en la sesión 0 (es decir, desde cualquier subproceso del sistema), no aparece ningún cuadro de diálogo cuando la rutina se realiza correctamente y devuelve TRUE.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 2000. |
Plataforma de destino | Universal |
Encabezado | ntddk.h (incluya Ntddk.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), IrqlIoApcLte(wdm) |