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