Compartilhar via


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.

Confira também

IRP_MJ_INTERNAL_DEVICE_CONTROL