Función IoIsValidIrpStatus (ntddk.h)

La rutina IoIsValidIrpStatus valida el valor de código de estado NTSTATUS especificado.

Sintaxis

LOGICAL IoIsValidIrpStatus(
  [in] IN NTSTATUS Status
);

Parámetros

[in] Status

Código de estado que se va a validar.

Valor devuelto

IoIsValidIrpStatus devuelve TRUE si el parámetro Status es un valor NTSTATUS con formato correcto. De lo contrario, la rutina devuelve FALSE.

Comentarios

Los desarrolladores de controladores pueden definir valores NTSTATUS personalizados para usarlos como códigos de estado para solicitudes de IRP_MJ_INTERNAL_DEVICE_CONTROL . Los controladores pueden llamar a IoIsValidIrpStatus para validar los códigos de estado de estas solicitudes. Esta rutina es útil para detectar un valor de estado no inicializado o dañado en el bloque de estado de E/S de un IRP.

IoIsValidIrpStatus detecta códigos de estado no válidos que obviamente infringen las reglas para definir valores NTSTATUS personalizados, pero es posible que no detecten códigos de estado no válidos que parecen seguir las reglas. La rutina podría devolver TRUE para un parámetro Status que no es un valor de código NTSTATUS válido, pero rara vez, si alguna vez, devuelve FALSE para un código NTSTATUS válido.

IoIsValidIrpStatus examina los campos Sev, Facility y Code en el valor del parámetro Status para determinar si la combinación de valores de estos campos se ajusta a las directrices publicadas. Si se establece el bit C del parámetro Status , IoIsValidIrpStatus devuelve TRUE independientemente de los demás valores de campo en Status.

Para obtener más información sobre estos campos, vea Definir nuevos valores NTSTATUS.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 8.
Plataforma de destino Universal
Encabezado ntddk.h (include Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL Cualquier nivel.

Consulte también

IRP_MJ_INTERNAL_DEVICE_CONTROL