드라이버 확인 로그 만들기
Windows 하드웨어 인증 프로그램의 특정 프로그램에는 모든 드라이버 제출에 대한 DVL(드라이버 확인 로그)이 필요합니다. DVL에는 Code Analysis(CA), SDV(정적 드라이버 검증 도구) 및 CodeQL 로그 파일의 결과에 대한 요약이 포함되어 있습니다. DVL에는 원본 정보가 포함되어 있지 않습니다. 드라이버에 대한 DVL을 만들기 전에 Code Analysis 도구 및 정적 드라이버 검증 도구를 실행해야 합니다.
드라이버 확인 로그를 만들려면
- Code Analysis 도구를 실행하기 전에 최신 Windows 드라이버 키트(WDK)를 사용하여 드라이버를 빌드하고 연결할 수 있는지 확인합니다.
- 드라이버 솔루션의 경우 솔루션 구성으로 릴리스 구성을 선택했는지, x64를 솔루션 플랫폼으로 선택했는지 확인합니다.
- 정적 드라이버 검증 도구를 실행합니다. 로그 파일을 만드는 방법에 대한 자세한 내용은 정적 드라이버 검증 도구에 대한 로그 파일 만들기 및 정적 드라이버 검증 도구를 사용하여 드라이버에서 결함을 찾는 방법을 참조하세요.
- 드라이버에 대한 Code Analysis 도구를 실행합니다. 발견된 결함을 해결하고 해결합니다. 코드 분석 도구에 대한 로그 파일 만들기 및 드라이버용 Code Analysis 실행하는 방법을 참조하세요. 코드 분석에 대한 자세한 내용은 Code Analysis 사용하여 C/C++ 코드 품질 분석을 참조하세요.
- CodeQL을 실행합니다. 발견된 결함을 해결하고 해결합니다. "반드시 수정해야 함"으로 간주되는 결함이 수정되지 않으면 인증이 실패합니다. CodeQL 및 정적 도구 로고 테스트에 대한 자세한 내용은 CodeQL 및 정적 도구 로고 테스트를 참조하세요.
- 드라이버 확인 로그를 만듭니다. 드라이버 메뉴에서 드라이버 확인 로그 만들기...를 선택합니다.
- Code Analysis 로그, 정적 드라이버 검증 도구 로그 및 CodeQL 로그 파일이 검색되었는지 확인합니다. 만들기를 선택합니다.
드라이버 확인 로그에는 파일 이름 확장명 .DVL.XML 있습니다. 로그는 프로젝트 폴더(예: \myDriverProjectmyDriverName\.DVL.XML)에 만들어집니다.
참고 SDV는 드라이버의 새로 빌드를 수행하여 Code Analysis 로그를 제거합니다. 따라서 CA를 실행하기 전에 SDV를 실행해야 합니다.
참고Windows 하드웨어 랩 키트를 사용하여 드라이버를 테스트할 준비가 되면 드라이버 확인 로그를 테스트 컴퓨터의 %systemdrive%\DVL 디렉터리에 복사해야 합니다. 새 드라이버 확인 로그를 복사하기 전에 테스트 컴퓨터의 디렉터리에 들어 있는 콘텐츠를 삭제해야 합니다.
Remarks
Code Analysis 도구, 정적 드라이버 검증 도구 및 드라이버 확인 로그에 대한 최신 정보는 WDK 릴리스 정보를 참조하세요. 릴리스 정보는 WDK(Windows 드라이버 키트) 다운로드 페이지에서 사용할 수 있습니다.
중요 DVL 파일의 시간 제한, 공간 제한 및 기타 성공하지 못한 결과는 인증 제출에 허용됩니다. 이로 인해 HLK의 정적 도구 테스트가 실패하지 않습니다.
Visual Studio 설치된 Visual Studio 네이티브 도구 명령 프롬프트 또는 Enterprise Windows 드라이버 키트(EWDK)를 통해 Visual Studio 명령 프롬프트 창에서 드라이버 확인 로그를 만들 수도 있습니다.
msbuild.exe <vcxprojectfile> /target:dvl /p:Configuration="Release" /P:Platform=x64
msbuild 또는 Visual Studio 외부에서 드라이버 확인 로그 만들기
Microsoft는 명령줄을 통해 DVL(드라이버 확인 로그)을 생성하는 데 사용할 수 있는dvl.exe라는 구성 요소인 Windows WDK(드라이버 키트) 및 Enterprise WDK(eWDK)의 일부로 제공됩니다. WDK/eWDK 미리 보기 버전 21342 이상부터 msbuild 또는 Visual Studio 컨텍스트 외부의 명령줄에서 DVL을 생성할 수 있습니다. 아래 단계에 따라 명령줄을 통해 DVL을 만듭니다.
- 단일 디렉터리에 DVL을 만드는 데 사용해야 하는 결과를 배치합니다. 일반적으로 Windows 클라이언트용으로 인증된 드라이버의 경우 CodeQL SARIF 파일입니다. Windows 서버 인증의 경우 Code Analysis 및 SDV(정적 드라이버 검증 도구) 결과 파일도 포함될 수 있습니다. 디바이스 드라이버 인증을 위해 실행해야 하는 도구에 대한 특정 세부 정보는 WHCP 요구 사항 문서를 확인합니다.
- CodeQL SARIF 파일 및 Code Analysis XML 파일은 디렉터리의 최상위 수준에 배치해야 합니다. SDV DVL.xml 파일은 "sdv" 하위 폴더에 배치되어야 합니다.
- 명령줄에서 CodeQL SARIF 파일이 포함된 최상위 디렉터리로 이동합니다.
- WDK 또는 탑재된 eWDK에서 dvl.exe 찾습니다.
- /manualCreate 플래그, 드라이버 이름 및 원하는 아키텍처를 전달하여 dvl.exe 호출합니다. 예를 들면 다음과 같습니다.
"C:\Program Files (x86)\Windows Kits\10\Tools\dvl\dvl.exe" /manualCreate driverName driverArchitecture
driverArchitecture 문자열에 다음 문자열 중 하나를 사용해야 합니다.
- X86
- X64
- Arm
- Arm64
driverName 문자열의 일부로 ".sys"을 포함하지 마세요.
- 생성된 DVL을 검사하여 올바르게 생성되었는지 확인합니다.
이 사용량은 주로 CodeQL 결과를 사용하여 DVL을 생성하기 위한 것이지만 SDV 및 CA 결과에도 사용할 수 있습니다.