Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die IoRaiseInformationalHardError Routine sendet ein Dialogfeld an den Benutzer, warnung über einen Geräte-E/A-Fehler, der angibt, warum eine Benutzer-E/A-Anforderung fehlgeschlagen ist.
Syntax
BOOLEAN IoRaiseInformationalHardError(
[in] NTSTATUS ErrorStatus,
[in, optional] PUNICODE_STRING String,
[in, optional] PKTHREAD Thread
);
Parameter
[in] ErrorStatus
Der Fehlerstatuscode (IO_ERR_XXX-).
[in, optional] String
Ein Zeiger auf eine Unicode-Zeichenfolge, die zusätzliche Informationen zum Fehler bereitstellt. Einige NT-Statuscodes erfordern einen Zeichenfolgenparameter, z. B. eine Datei oder einen Verzeichnisnamen. Wenn der angegebene ErrorStatus- Wert keinen Zeichenfolgenparameter erfordert, legen Sie String- auf NULL-fest.
[in, optional] Thread
Ein Zeiger auf den Thread, dessen IRP aufgrund des durch den parameter ErrorStatus angegebenen Fehler fehlgeschlagen ist.
Rückgabewert
IoRaiseInformationalHardError gibt TRUE zurück, wenn das Dialogfeld erfolgreich in die Warteschlange gestellt wurde. Diese Routine gibt FALSE- zurück, wenn Dialogfelder für Thread-deaktiviert sind, eine Poolzuweisung fehlgeschlagen ist, zu viele Dialogfelder bereits in die Warteschlange gestellt werden oder ein entsprechendes Dialogfeld bereits eine Benutzerantwort aussteht (z. B. warten, dass der Benutzer die EINGABETASTE drückt).
Bemerkungen
IoRaiseInformationalHardError verwendet einen systemdefinierten NT-Fehlerwert als Parameter. Treiberautoren können die Ereignisprotokoll-APIs verwenden, um treiberdefinierte Ereigniszeichenfolgen an den Benutzer zu kommunizieren.
IoRaiseInformationalHardError verhält sich wie folgt:
- Wenn der vom Aufrufer bereitgestellte ErrorStatus- Wert nicht in der Headerdatei "Ntstatus.h" definiert ist, zeigt das Dialogfeld immer den Text "Unbekannter Hartfehler" an, unabhängig vom String Parameterwert.
- Wenn der vom Aufrufer bereitgestellte ErrorStatus- Wert in der Headerdatei Ntstatus.h definiert ist, zeigt das Dialogfeld den Text in der entsprechenden MessageText-Zeichenfolge in Ntstatus.h an, unabhängig vom String Parameterwert.
- Wenn der parameter Thread einen Thread angibt, der im Kontext einer Anwendung ausgeführt wird, lautet der im Dialogfeld angezeigte Text "ApplicationName.exe - Systemfehler".
- Wenn der Thread--Parameter NULL ist oder ein Thread angibt, der in einem beliebigen Systemkontext ausgeführt wird, lautet der im Dialogfeld angezeigte Text "Systemprozess - Systemfehler". Wenn der ErrorStatus Wert in Ntstatus.h definiert ist, wird die entsprechende MessageText-Zeichenfolge in das Ereignisprotokoll geschrieben.
Beginnend mit Windows Vista wird, wenn die Routine von einem Thread in Sitzung 0 aufgerufen wird (d. h. von einem beliebigen Systemthread), kein Dialogfeld angezeigt, wenn die Routine erfolgreich ist und TRUEzurückgibt.
Anforderungen
| Anforderung | Wert |
|---|---|
| mindestens unterstützte Client- | Ab Windows 2000 verfügbar. |
| Zielplattform- | Universal |
| Header- | ntddk.h (include Ntddk.h) |
| Library | NtosKrnl.lib |
| DLL- | NtosKrnl.exe |
| IRQL- | <=APC_LEVEL |
| DDI-Complianceregeln | HwStorPortProhibitedDDIs(storport), IrqlIoApcLte(wdm) |