Freigeben über


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.

Weitere Informationen

IRP_MJ_INTERNAL_DEVICE_CONTROL