Função IoIsValidIrpStatus (ntddk.h)
A rotina IoIsValidIrpStatus valida o valor de código status NTSTATUS especificado.
Sintaxe
LOGICAL IoIsValidIrpStatus(
[in] IN NTSTATUS Status
);
Parâmetros
[in] Status
O código status a ser validado.
Retornar valor
IoIsValidIrpStatus retornará TRUE se o parâmetro Status for um valor NTSTATUS bem formado. Caso contrário, a rotina retornará FALSE.
Comentários
Os desenvolvedores de driver podem definir valores NTSTATUS personalizados para uso como códigos status para solicitações de IRP_MJ_INTERNAL_DEVICE_CONTROL. Os drivers podem chamar IoIsValidIrpStatus para validar os códigos de status dessas solicitações. Essa rotina é útil para detectar um valor de Status não inicializado ou corrompido no bloco de status de E/S de um IRP.
IoIsValidIrpStatus detecta códigos de status inválidos que, obviamente, violam as regras para definir valores NTSTATUS personalizados, mas podem não detectar códigos de status inválidos que parecem seguir as regras. A rotina pode retornar TRUE para um parâmetro Status que não é um valor de código NTSTATUS válido, mas raramente, se nunca, retorna FALSE para um código NTSTATUS válido.
IoIsValidIrpStatus examina os campos Sev, Facility e Code no valor do parâmetro Status para determinar se a combinação de valores nesses campos está em conformidade com as diretrizes publicadas. Se o bit C do parâmetro Status estiver definido, IoIsValidIrpStatus retornará TRUE , independentemente dos outros valores de campo em Status.
Para obter mais informações sobre esses campos, consulte Definindo novos valores NTSTATUS.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 8. |
Plataforma de Destino | Universal |
Cabeçalho | ntddk.h (inclua Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualquer nível. |