IoIsValidIrpStatus 함수(ntddk.h)
IoIsValidIrpStatus 루틴은 지정된 NTSTATUS 상태 코드 값의 유효성을 검사합니다.
구문
LOGICAL IoIsValidIrpStatus(
[in] IN NTSTATUS Status
);
매개 변수
[in] Status
유효성을 검사할 상태 코드입니다.
반환 값
Status 매개 변수가 올바른 형식의 NTSTATUS 값인 경우 IoIsValidIrpStatus는 TRUE를 반환합니다. 그렇지 않으면 루틴이 FALSE를 반환 합니다.
설명
드라이버 개발자는 IRP_MJ_INTERNAL_DEVICE_CONTROL 요청에 대한 상태 코드로 사용할 사용자 지정 NTSTATUS 값을 정의할 수 있습니다. 드라이버는 IoIsValidIrpStatus를 호출하여 이러한 요청에 대한 상태 코드의 유효성을 검사할 수 있습니다. 이 루틴은 IRP의 I/O 상태 블록에서 초기화되지 않거나 손상된 상태 값을 검색하는 데 유용합니다.
IoIsValidIrpStatus는 사용자 지정 NTSTATUS 값을 정의하는 규칙을 분명히 위반하는 잘못된 상태 코드를 검색하지만 규칙을 따르는 것처럼 보이는 잘못된 상태 코드를 검색하지 못할 수 있습니다. 루틴은 유효한 NTSTATUS 코드 값이 아니지만 유효한 NTSTATUS 코드에 대해 FALSE를 반환하는 경우는 거의 없는 Status 매개 변수에 대해 TRUE를 반환할 수 있습니다.
IoIsValidIrpStatus는 Status 매개 변수 값의 Sev, Facility 및 Code 필드를 검사하여 이러한 필드의 값 조합이 게시된 지침을 준수하는지 여부를 확인합니다. Status 매개 변수의 C 비트가 설정된 경우 IoIsValidIrpStatus는 Status의 다른 필드 값에 관계없이 TRUE를 반환합니다.
이러한 필드에 대한 자세한 내용은 새 NTSTATUS 값 정의를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 시작해서 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | ntddk.h(Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 모든 수준. |