Windows Driver Kit
Windows Driver Kit(WDK)은 Windows용 장치 드라이버를 개발·빌드·검사하고 배포하기 위해 Microsoft가 제공하는 SDK와 관련 도구 집합이다. 일반 앱 개발용 Windows SDK와 달리 커널 모드 드라이버(KMDF·WDM)와 사용자 모드 드라이버(UMDF)...
| 약칭 | WDK |
|---|---|
| 분류 | Windows 하드웨어·커널 드라이버 개발 도구 |
| 개발사 | Microsoft |
| 대상 | Windows NT 기반 클라이언트·Server 드라이버 |
| 프레임워크 | Windows Driver Frameworks, KMDF·UMDF |
| 프로젝트 | 커널 모드·사용자 모드 드라이버 |
| 주요 도구 | 빌드 도구·서명·테스트·검증기 |
| 디버깅 | WinDbg, Kernel Debugging |
| 기반 | Windows SDK, Visual Studio 연동 |
| 주요 언어 | C·C++ |
| 지원 드라이버 | WDM, WDF, 장치별 모델 |
| 보안 | 드라이버 서명·코드 무결성·Verifier |
| 공식 문서 | Microsoft Learn: WDK |
| 개발 개요 | Windows Drivers |
Windows Driver Kit(WDK)은 Windows용 장치 드라이버를 개발·빌드·검사하고 배포하기 위해 Microsoft가 제공하는 SDK와 관련 도구 집합이다. 일반 앱 개발용 Windows SDK와 달리 커널 모드 드라이버(KMDF·WDM)와 사용자 모드 드라이버(UMDF) 등의 하드웨어 인터페이스를 대상으로 한다. Windows의 프로세스·I/O와 장치 관리자, Plug and Play·전원 관리 구조에 맞춰 드라이버를 구현하도록 돕는다.[1]
WDK에는 장치 드라이버용 헤더·라이브러리, 샘플과 검증 도구·빌드 통합 기능이 포함된다. 개발자는 장치 클래스와 인터페이스에 맞춘 드라이버를 구현하고 IRP·I/O 요청, 하드웨어 버스·메모리 및 인터럽트를 관리한다. 여러 버전의 Windows Driver Frameworks는 반복되는 상태 관리와 Plug and Play·전원 처리를 추상화하지만 모든 드라이버가 같은 프레임워크를 선택하는 것은 아니다.
커널 모드 코드는 운영체제 전체의 안정성·보안에 직접적인 영향을 줄 수 있으므로 정적 검사·드라이버 검증기와 코드 서명, 커널 디버깅을 이용해야 한다. WinDbg는 드라이버 충돌과 메모리 덤프를 검사하는 중요한 도구다. 서명·테스트 정책은 최신 Secure Boot·HVCI 등의 보안 정책과 Windows 릴리스마다 달라질 수 있다.[2]
WDK와 Windows SDK·Visual Studio의 버전 호환을 맞추지 않으면 빌드 도구나 드라이버 패키징·테스트의 오류가 발생할 수 있다. 배포 과정에는 INF 파일·카탈로그 서명과 운영체제의 드라이버 설치 정책을 고려한다. WDK는 장치 하드웨어와 Windows NT 커널·서비스를 연결하는 드라이버 개발의 핵심 도구 모음이다.