Fonction IoIsValidIrpStatus (ntddk.h)

La routine IoIsValidIrpStatus valide la valeur de code NTSTATUS status spécifiée.

Syntaxe

LOGICAL IoIsValidIrpStatus(
  [in] IN NTSTATUS Status
);

Paramètres

[in] Status

Code status à valider.

Valeur retournée

IoIsValidIrpStatus retourne TRUE si le paramètre Status est une valeur NTSTATUS bien formée. Sinon, la routine retourne FALSE.

Remarques

Les développeurs de pilotes peuvent définir des valeurs NTSTATUS personnalisées à utiliser comme codes status pour les requêtes IRP_MJ_INTERNAL_DEVICE_CONTROL. Les pilotes peuvent appeler IoIsValidIrpStatus pour valider les codes status pour ces requêtes. Cette routine est utile pour détecter une valeur d’état non initialisée ou endommagée dans le bloc d’E/S status d’un IRP.

IoIsValidIrpStatus détecte les codes status non valides qui enfreignent manifestement les règles de définition des valeurs NTSTATUS personnalisées, mais peuvent ne pas détecter les codes status non valides qui semblent suivre les règles. La routine peut retourner TRUE pour un paramètre Status qui n’est pas une valeur de code NTSTATUS valide, mais qui retourne rarement, voire jamais, FALSE pour un code NTSTATUS valide.

IoIsValidIrpStatus examine les champs Sev, Facility et Code dans la valeur du paramètre Status pour déterminer si la combinaison de valeurs dans ces champs est conforme aux instructions publiées. Si le bit C du paramètre Status est défini, IoIsValidIrpStatus retourne TRUE , quelles que soient les autres valeurs de champ dans Status.

Pour plus d’informations sur ces champs, consultez Définition de nouvelles valeurs NTSTATUS.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8.
Plateforme cible Universal
En-tête ntddk.h (inclure Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL N’importe quel niveau.

Voir aussi

IRP_MJ_INTERNAL_DEVICE_CONTROL