IoIsValidIrpStatus-Funktion (ntddk.h)
Die IoIsValidIrpStatus-Routine überprüft den angegebenen NTSTATUS-status Codewert.
Syntax
LOGICAL IoIsValidIrpStatus(
[in] IN NTSTATUS Status
);
Parameter
[in] Status
Der zu überprüfende status Code.
Rückgabewert
IoIsValidIrpStatus gibt TRUE zurück, wenn der Status-Parameter ein wohlgeformten NTSTATUS-Wert ist. Andernfalls gibt die Routine FALSE zurück.
Hinweise
Treiberentwickler können benutzerdefinierte NTSTATUS-Werte für die Verwendung als status Codes für IRP_MJ_INTERNAL_DEVICE_CONTROL Anforderungen definieren. Treiber können IoIsValidIrpStatus aufrufen, um die status Codes für diese Anforderungen zu überprüfen. Diese Routine ist nützlich, um einen nicht initialisierten oder beschädigten Statuswert im E/A-status-Block eines IRP zu erkennen.
IoIsValidIrpStatus erkennt ungültige status Codes, die offensichtlich gegen die Regeln zum Definieren benutzerdefinierter NTSTATUS-Werte verstoßen, aber möglicherweise keine ungültigen status Codes erkennen, die den Regeln zu entsprechen scheinen. Die Routine gibt möglicherweise TRUE für einen Status-Parameter zurück, der kein gültiger NTSTATUS-Codewert ist, aber selten, wenn überhaupt, gibt FALSE für einen gültigen NTSTATUS-Code zurück.
IoIsValidIrpStatus untersucht die Felder Sev, Facility und Code im Parameterwert Status , um zu bestimmen, ob die Kombination der Werte in diesen Feldern den veröffentlichten Richtlinien entspricht. Wenn das C-Bit des Status-Parameters festgelegt ist, gibt IoIsValidIrpStatus unabhängig von den anderen Feldwerten in StatusTRUE zurück.
Weitere Informationen zu diesen Feldern finden Sie unter Definieren neuer NTSTATUS-Werte.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8. |
Zielplattform | Universell |
Header | ntddk.h (include Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Beliebige Ebene. |