Função IoRaiseInformationalHardError (ntddk.h)
A rotina IoRaiseInformationalHardError envia uma caixa de diálogo ao usuário, avisando sobre um erro de E/S do dispositivo que indica por que uma solicitação de E/S do usuário falhou.
Sintaxe
BOOLEAN IoRaiseInformationalHardError(
[in] NTSTATUS ErrorStatus,
[in, optional] PUNICODE_STRING String,
[in, optional] PKTHREAD Thread
);
Parâmetros
[in] ErrorStatus
O erro status código (IO_ERR_XXX).
[in, optional] String
Um ponteiro para uma cadeia de caracteres Unicode, que fornece informações adicionais sobre o erro. Alguns códigos de status NT exigem um parâmetro de cadeia de caracteres, como um nome de arquivo ou diretório. Se o valor errorStatus especificado não exigir um parâmetro de cadeia de caracteres, defina String como NULL.
[in, optional] Thread
Um ponteiro para o thread cujo IRP falhou devido ao erro especificado pelo parâmetro ErrorStatus .
Retornar valor
IoRaiseInformationalHardError retornará TRUE se a caixa de diálogo tiver sido enfileirada com êxito. Essa rotina retornará FALSE se as caixas de diálogo estiverem desabilitadas para Thread, uma alocação de pool falhar, muitas caixas de diálogo já estiverem enfileiradas ou uma caixa de diálogo equivalente já estiver pendente de uma resposta do usuário (como esperar que o usuário pressione RETURN).
Comentários
IoRaiseInformationalHardError usa um valor de erro NT definido pelo sistema como um parâmetro. Os gravadores de driver podem usar as APIs de log de eventos para comunicar cadeias de caracteres de evento definidas pelo driver para o usuário.
IoRaiseInformationalHardError se comporta da seguinte maneira:
- Se o valor ErrorStatus fornecido pelo chamador não estiver definido no arquivo de cabeçalho Ntstatus.h, a caixa de diálogo sempre mostrará o texto "Erro Rígido Desconhecido", independentemente do valor do parâmetro String .
- Se o valor ErrorStatus fornecido pelo chamador for definido no arquivo de cabeçalho Ntstatus.h, a caixa de diálogo mostrará o texto na cadeia de caracteres MessageText correspondente em Ntstatus.h, independentemente do valor do parâmetro String .
- Se o parâmetro Thread especificar um thread em execução no contexto de um aplicativo, o texto mostrado na caixa de diálogo será "ApplicationName.exe – Erro do Sistema".
- Se o parâmetro Thread for NULL ou se especificar um thread em execução em um contexto arbitrário do sistema, o texto mostrado na caixa de diálogo será "Processo do Sistema – Erro do Sistema". Além disso, se o valor ErrorStatus for definido em Ntstatus.h, a cadeia de caracteres MessageText correspondente será gravada no log de eventos.
A partir do Windows Vista, se a rotina for chamada de um thread na sessão 0 (ou seja, de qualquer thread do sistema), nenhuma caixa de diálogo será exibida quando a rotina for bem-sucedida e retornar TRUE.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 2000. |
Plataforma de Destino | Universal |
Cabeçalho | ntddk.h (inclua Ntddk.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |
Regras de conformidade da DDI | HwStorPortProhibitedDDIs(storport), IrqlIoApcLte(wdm) |