Функция IoIsValidIrpStatus (ntddk.h)
Подпрограмма IoIsValidIrpStatus проверяет указанное значение кода состояния NTSTATUS.
Синтаксис
LOGICAL IoIsValidIrpStatus(
[in] IN NTSTATUS Status
);
Параметры
[in] Status
Код состояния для проверки.
Возвращаемое значение
IoIsValidIrpStatus возвращает значение TRUE , если параметр Status имеет правильное значение NTSTATUS. В противном случае подпрограмма возвращает значение FALSE.
Комментарии
Разработчики драйверов могут определять пользовательские значения NTSTATUS для использования в качестве кодов состояния для IRP_MJ_INTERNAL_DEVICE_CONTROL запросов. Драйверы могут вызывать IoIsValidIrpStatus для проверки кодов состояния для этих запросов. Эта подпрограмма полезна для обнаружения неинициализированного или поврежденного значения состояния в блоке состояния ввода-вывода IRP.
IoIsValidIrpStatus обнаруживает недопустимые коды состояния, которые, очевидно, нарушают правила определения пользовательских значений NTSTATUS, но могут не обнаруживать недопустимые коды состояния, которые следуют правилам. Подпрограмма может возвращать значение TRUE для параметра Status , который не является допустимым значением кода NTSTATUS, но редко возвращает значение FALSE для допустимого кода NTSTATUS.
IoIsValidIrpStatus проверяет поля Sev, Facility и Code в значении параметра Status , чтобы определить, соответствует ли сочетание значений в этих полях опубликованным рекомендациям. Если задан бит C параметра Status , IoIsValidIrpStatus возвращает значение TRUE независимо от других значений полей в status.
Дополнительные сведения об этих полях см. в разделе Определение новых значений NTSTATUS.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 8. |
Целевая платформа | Универсальное |
Верхняя часть | ntddk.h (включая Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Любой уровень. |