DDI 규정 준수 규칙
이 섹션에서는 WDM(Windows 드라이버 모델), KMDF(커널 모드 드라이버 프레임워크), 오디오(PortCls), KS(AVStream), NDIS 및 Storport 드라이버를 확인하는 데 사용할 수 있는 Windows DDI(디바이스 드라이버 인터페이스) 준수 규칙을 나열하고 설명합니다. DDI 준수 규칙은 운영 체제의 커널 인터페이스와 드라이버 간의 적절한 상호 작용에 대한 요구 사항을 정의합니다.
오디오 드라이버에 대한 규칙
AVStream 드라이버에 대한 규칙
WDM 드라이버에 대한 규칙
KMDF 드라이버에 대한 규칙
NDIS 드라이버에 대한 규칙
Storport 드라이버에 대한 규칙
Important
Windows 하드웨어 호환성 프로그램에는 클라이언트 및 서버 운영 체제에서 STL(정적 도구 로고) 테스트용 CodeQL이 필요합니다. 우리는 이전 제품에 대한 SDV 및 CA에 대한 지원을 계속 유지합니다. 파트너는 정적 도구 로고 테스트에 대한 CodeQL 요구 사항을 검토하는 것이 좋습니다. CodeQL 사용에 대한 자세한 내용은 CodeQL 및 정적 도구 로고 테스트를 참조하세요.
드라이버 확인 도구
코드 분석 도구, 정적 드라이버 검증 도구 및 드라이버 검증 도구를 사용하여 드라이버에서 DDI 사용 규칙 준수를 테스트할 수 있습니다. SDV(정적 드라이버 검증 도구)는 드라이버 소스 코드에 대한 정적 분석을 수행하므로 개발 주기 초기에 SDV를 사용할 수 있습니다. 드라이버 검증 도구는 운영 체제와 통합되므로 빌드, 배포 및 설치한 후 런타임에 드라이버를 테스트할 수 있습니다.
정적 드라이버 검증 도구는 드라이버 소스 코드를 사용하여 드라이버 및 운영 체제의 모델을 만듭니다. 이 모델에서 SDV는 드라이버를 적대적인 환경에 배치하고 드라이버 준수 규칙의 공식화된 집합(정적 드라이버 검증 도구 규칙)의 위반을 검색하여 드라이버를 통해 코드 경로를 체계적으로 테스트합니다.
Windows 8부터 DDI 규정 준수 검사를 사용하도록 설정하여 설치된 드라이버에서 동일한 준수 검사 중 일부를 실행하도록 드라이버 검증 도구를 구성할 수 있습니다.
Important
SDV는 더 이상 지원되지 않으며 Windows 24H2 WDK 또는 EWDK 릴리스에서는 SDV를 사용할 수 없습니다. 빌드 26017보다 최신의 WDK에서는 사용할 수 없으며 Windows 24H2 RTM WDK에는 포함되지 않습니다.
SDV는 WDK(Windows 드라이버 키트) 다운로드에서 Visual Studio 빌드 도구 17.1.5와 함께 Windows 11 버전 22H2 EWDK(2023년 10월 24일 릴리스)를 다운로드하여 계속 사용할 수 있습니다. SDV를 실행하는 데 엔터프라이즈 WDK만 사용하는 것이 좋습니다. 최신 버전의 Visual Studio와 함께 표준 WDK의 이전 버전을 사용하는 것은 권장되지 않습니다. 따라서 분석 실패가 발생할 수 있습니다.
앞으로 CodeQL은 드라이버의 기본 정적 분석 도구가 될 것입니다. CodeQL은 코드를 쿼리할 데이터베이스로 처리하는 강력한 쿼리 언어를 제공하므로 특정 동작, 패턴 등에 대한 쿼리를 간단하게 작성할 수 있습니다.
CodeQL 사용에 대한 자세한 내용은 CodeQL 및 정적 도구 로고 테스트를 참조하세요.