Compartilhar via


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.

Consulte também

IRP_MJ_INTERNAL_DEVICE_CONTROL