Função IoIsValidIrpStatus (ntddk.h)
A rotina IoIsValidIrpStatus valida o valor do código de status NTSTATUS especificado.
Sintaxe
LOGICAL IoIsValidIrpStatus(
[in] IN NTSTATUS Status
);
Parâmetros
[in] Status
O código de status a ser validado.
Valor de retorno
IoIsValidIrpStatus retornará TRUE se o parâmetro status de for um valor NTSTATUS bem formado. Caso contrário, a rotina retornará FALSE .
Observações
Os desenvolvedores de driver podem definir valores NTSTATUS personalizados para uso como códigos de 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 de não inicializado ou corrompido no de 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, Facilitye 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á VERDADEIRO independentemente dos outros valores de campo no status do.
Para obter mais informações sobre esses campos, consulte Definindo novos valores NTSTATUS.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows 8. |
da Plataforma de Destino | Universal |
cabeçalho | ntddk.h (inclua Ntddk.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | Qualquer nível. |