Compartir a través de


Función IoRaiseInformationalHardError (ntddk.h)

El IoRaiseInformationalHardError rutina envía un cuadro de diálogo al usuario, con una 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 de 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, se produjo un error en la asignación de un grupo, demasiados cuadros de diálogo ya están en cola o si ya hay un cuadro de diálogo equivalente pendiente de una respuesta de usuario (como esperar a que el usuario presione RETURN).

Observaciones

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 proporcionado por el autor de la llamada valor no está definido en el archivo de encabezado Ntstatus.h, el cuadro de diálogo siempre muestra el texto "Unknown Hard Error", independientemente del valor del parámetro string .
  • Si el proporcionado por el autor de la llamada valor 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 de 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 de sistema arbitrario, el texto que se muestra en el cuadro de diálogo es "System Process - System Error". Además, si el valor de ErrorStatus se define en Ntstatus.h, la cadena MessageText correspondiente se escribe en el registro de eventos.
Si una llamada anterior al IoSetThreadHardErrorMode errores duros deshabilitados de rutina para el subproceso especificado, IoRaiseInformationalHardError devuelve FALSE.

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 Valor
cliente mínimo admitido Disponible a partir de Windows 2000.
de la plataforma de destino de Universal
encabezado de ntddk.h (incluya Ntddk.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <=APC_LEVEL
reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), IrqlIoApcLte(wdm)

Consulte también

ioSetHardErrorOrVerifyDevice

IoSetThreadHardErrorMode

PsGetCurrentThread