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