共用方式為


IoIsValidIrpStatus 函式 (ntddk.h)

IoIsValidIrpStatus 例程會驗證指定的NTSTATUS狀態代碼值。

語法

LOGICAL IoIsValidIrpStatus(
  [in] IN NTSTATUS Status
);

參數

[in] Status

要驗證的狀態代碼。

傳回值

如果 Status 參數是格式正確的 NTSTATUS 值,IoIsValidIrpStatus 會傳回 TRUE。 否則,例程會傳回 FALSE

備註

驅動程式開發人員可以定義自定義NTSTATUS值,以作為 IRP_MJ_INTERNAL_DEVICE_CONTROL 要求的狀態代碼。 驅動程式可以呼叫 IoIsValidIrpStatus 來驗證這些要求的狀態代碼。 此例程適用於在 IRP 的 I/O 狀態區塊中偵測未初始化或損毀的 Status 值。

IoIsValidIrpStatus 偵測到明顯違反定義自定義NTSTATUS值之規則的無效狀態代碼,但可能不會偵測出看似遵循規則的無效狀態代碼。 例程可能會針對不是有效 NTSTATUS 程式代碼值的 Status 參數傳回 TRUE,但很少會針對有效的 NTSTATUS 程式代碼傳回 FALSE

IoIsValidIrpStatus 會檢查 Status 參數值中的 SevFacilityCode 字段,以判斷這些欄位中的值組合是否符合已發佈的指導方針。 如果設定 Status 參數的 C 位,則不論 Status 中的其他域值為何,IoIsValidIrpStatus 都會傳回 TRUE

如需這些欄位的詳細資訊,請參閱 定義新的NTSTATUS值

規格需求

需求
最低支援的用戶端 從 Windows 8 開始提供。
目標平台 Universal
標頭 ntddk.h (包含 Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL 任何層級。

另請參閱

IRP_MJ_INTERNAL_DEVICE_CONTROL