향상된 I/O 확인

이 기능은 Windows XP 이상 버전의 Windows 운영 체제에서만 사용할 수 있습니다.

Windows 7 이상 버전의 Windows 운영 체제에서는 I/O 확인을 선택하면 향상된 I/O 확인이 자동으로 활성화됩니다. 별도의 옵션으로 선택할 수 없거나 선택할 필요가 없습니다.

향상된 I/O 확인이 활성화되면 드라이버 검증 도구는 여러 I/O 관리자 루틴의 호출을 모니터링하고 PnP IRP, 전원 IRP 및 WMI IRP의 스트레스 테스트를 수행합니다.

Windows Vista 및 Windows XP에서 향상된 I /O 확인은 I/O 확인과 독립적으로 활성화되지만 두 옵션을 모두 선택하면 드라이버에서 I/O 인터페이스 메서드를 보다 완벽하게 테스트할 수 있습니다.

향상된 I/O 확인 기능

드라이버 검증 도구는 고급 I/O 확인을 활성화할 때 다음 검사를 추가합니다.

  • 모든 IRP를 모니터링하여 드라이버가 IoMarkIrpPending을 호출한 경우에만 STATUS_PENDING 반환하는지 확인합니다.

  • IoDeleteDevice의 사용을 모니터링하여 드라이버가 동일한 디바이스를 한 번 더 삭제하지 않는지 확인하고 디바이스 개체의 부적절한 분리 및 삭제를 감지합니다.

  • 드라이버가 모든 IoSkipCurrentIrpStackLocation 호출을 올바르게 해제하는지 확인합니다.

새로운 스트레스 및 테스트는 다음과 같습니다.

  • 플러그 앤 플레이(PnP) 드라이버가 디바이스 시작 순서를 가정하지 않도록 열거된 디바이스의 순서를 스크램블링합니다.

  • PnP 및 Power IRP의 상태 조정하여 디스패치 루틴에서 잘못된 상태 반환하는 드라이버를 catch합니다.

  • 가짜 Power IRP를 보내 드라이버 코드 경로 버그를 테스트합니다.

  • 가짜 WMI IRP를 보내 드라이버 코드 경로 버그를 테스트합니다.

  • 모든 WDM 스택에 가짜 필터를 삽입합니다.

향상된 I/O 확인 오류 표시

향상된 I/O 확인으로 적발된 드라이버 오류는 수준 2 I/O 확인에서 적발한 것과 동일한 방식으로 표시됩니다.

파란색 화면에서 이러한 오류는 메시지 IO 시스템 확인 오류문자열 WDM 드라이버 오류XXX로 표시됩니다. 여기서 XXX 는 I/O 오류 코드입니다.

크래시 덤프 파일에서 이러한 오류는 I/O 오류 코드와 함께 BugCheck 0xC9(DRIVER_VERIFIER_IOMANAGER_VIOLATION) 메시지로 표시됩니다. 이 경우 I/O 오류 코드가 버그 검사 0xC9 첫 번째 매개 변수로 나타납니다.

커널 디버거(KD 또는 WinDbg)에서 이러한 오류는 WDM DRIVER ERROR 메시지와 설명이 포함된 텍스트 문자열로 표시됩니다. 커널 디버거가 활성 상태이면 수준 2 오류를 무시하고 시스템 작업을 다시 시작할 수 있습니다. (다른 버그 검사에서는 불가능합니다.)

파란색 화면, 크래시 덤프 파일 및 커널 디버거는 각각 추가 정보도 표시합니다. 모든 I/O 확인 수준 2 오류 메시지에 대한 전체 설명은 버그 검사 0xC9 참조하세요.

이 옵션 활성화

드라이버 검증 도구 관리자 또는 Verifier.exe 명령줄을 사용하여 하나 이상의 드라이버에 대해 향상된 I/O 확인 기능을 활성화할 수 있습니다. 자세한 내용은 드라이버 검증 도구 옵션 선택을 참조하세요.

참고 Windows 7 이상 버전의 Windows 운영 체제에서는 I/O 확인을 선택하면 향상된 I /O 확인이 자동으로 활성화됩니다. 별도의 옵션으로 선택할 수 없거나 선택할 필요가 없습니다.

  • 명령줄에서

    명령줄에서 향상된 I/O 확인 옵션은 비트 6(0x40)으로 표시됩니다. 향상된 I/O 확인을 활성화하려면 플래그 값 0x40 사용하거나 플래그 값에 0x40 추가합니다. 예:

    verifier /flags 0x40 /driver MyDriver.sys
    

    이 기능은 다음 부팅 후에 활성화됩니다.

    Windows Vista 이상 버전의 Windows에서는 명령에 /volatile 매개 변수를 추가하여 컴퓨터를 다시 부팅하지 않고 고급 I/O 확인을 활성화하고 비활성화할 수도 있습니다. 예:

    verifier /volatile /flags 0x40 /adddriver MyDriver.sys
    

    이 설정은 즉시 유효하지만 컴퓨터를 종료하거나 다시 부팅하면 손실됩니다. 자세한 내용은 Volatile 설정 사용을 참조하세요.

  • 드라이버 검증 도구 관리자 사용

    1. 드라이버 검증 도구 관리자를 시작합니다. 명령 프롬프트 창에 검증 도구 를 입력합니다.
    2. 사용자 지정 설정 만들기(코드 개발자용)를 선택하고 다음을 클릭합니다.
    3. 전체 목록에서 개별 설정 선택을 선택합니다.
    4. (검사) 향상된 I/O 확인을 선택합니다.

    DMA 확인 기능도 표준 설정에 포함되어 있습니다. 이 기능을 사용하려면 드라이버 검증 도구 관리자에서 표준 설정 만들기를 클릭합니다.