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. |