오류 주입 사용
WdfTester 도구는 특정 드라이버에 대한 DDI 오류 주입을 구성하는 WMI 인터페이스를 제공합니다. 이 WMI 인터페이스를 사용하여 오류 주입을 구성하는 스크립트(WdftesterScript.wsf)가 제공됩니다. 사용자 고유의 스크립트를 작성하거나 제공된 스크립트를 사용하여 오류 주입을 사용하도록 설정할 수 있습니다. 명령 프롬프트 창에서 스크립트(WdftesterScript.wsf)를 실행하여 드라이버를 등록, 구성 및 등록 취소할 수 있습니다. 스크립트에는 runtest라는 명령줄 옵션도 있습니다.
runtest 옵션의 기능
runtest 옵션은 드라이버에서 간단한 사용 안 함 및 사용 안 함 작업을 실행합니다. 이 옵션은 도구를 사용하는 방법을 보여 줍니다. 처음에 스크립트는 지정된 드라이버를 사용하지 않도록 설정한 다음 사용하도록 설정합니다. 이를 통해 WdfTester는 사용 안 함 및 사용 설정 작업 중에 수행된 모든 DDI 호출을 모니터링할 수 있습니다. 스크립트는 WMI 인터페이스 중 하나를 사용하여 이 기간 동안 호출된 DDI 목록을 가져옵니다. 스크립트는 이러한 DDI 중 실패할 수 있는 DDI(NTSTATUS를 반환하는 DDI만)를 결정합니다. 그런 다음 스크립트는 다른 WMI 인터페이스를 호출하여 WdfTester가 목록의 첫 번째 DDI에 실패하도록 구성합니다. 스크립트는 드라이버를 사용하지 않도록 설정하고 사용하도록 설정하므로 DDI가 실패하고 WMI 이벤트가 발생합니다. 스크립트는 이미 DDI에 대한 WMI 실패 이벤트를 기다리고 있습니다. 이벤트가 성공적으로 수신되고 오류가 발생하여 컴퓨터가 응답하지 않거나 버그 검사 발생시키는 경우(드라이버 개발자 또는 테스터에 의해 결정됨) 테스트가 성공한 것으로 간주됩니다. 그런 다음, 스크립트는 목록에서 다음 DDI에 대해 이러한 단계를 반복합니다.
참고runtest 옵션을 사용하려면 DevCon (Devcon.exe) 도구를 복사하여 다른 Wdftester 파일과 동일한 디렉터리에 배치해야 합니다. Devcon.exe 애플리케이션은 %WDKRoot%\tools\<platform> 디렉터리에 있습니다.
runtest 옵션은 다음과 같습니다.
WdfTester에 드라이버를 등록합니다. 드라이버를 설치하지 않은 경우 runtest를 사용하기 전에 드라이버를 설치해야 합니다.
이 드라이버에 대해 드라이버 검증 도구를 사용하도록 설정합니다(Windows Vista 이상을 실행하는 컴퓨터는 다시 시작할 필요가 없음).
Devcon 애플리케이션을 사용하여 드라이버를 사용하지 않도록 설정합니다.
Devcon 애플리케이션을 사용하여 드라이버를 사용하도록 설정합니다.
사용 및 사용 안 함 작업 중에 호출된 함수의 이름을 검색하고 NTSTATUS를 반환하고 실패할 수 있는 함수를 식별합니다.
비동기 WMI 이벤트 알림을 시작합니다.
5단계에서 가져온 목록에서 실패할 수 있는 각 DDI에 대해:
- 실패에 대한 함수를 구성합니다.
- Devcon.exe 사용하여 드라이버를 사용하지 않도록 설정한 다음 사용하도록 설정합니다. 이 작업은 함수를 호출하고 WdfTester는 함수 호출에 실패합니다.
- WMI 이벤트가 실행되기를 기다립니다.
- WMI 이벤트가 발생하면 runtest 옵션은 목록의 다음 함수에 대해 7단계를 반복합니다.
드라이버를 등록 취소합니다.