WDF 드라이버 빌드 및 로드
이 항목에서는 Visual Studio에서 드라이버 프로젝트의 대상 운영 체제 및 프레임워크 버전을 선택하는 방법을 설명합니다.
드라이버 패키지에 재배포 가능 프레임워크 구성 요소를 포함해야 하는지 확인하려면 재배포 가능 프레임워크 구성 요소를 참조하세요.
어떤 프레임워크 버전을 사용해야 하나요?
- Windows XP를 대상으로 하려면 WDF 1.9 이하를 사용합니다.
- Windows Vista, Windows 7 또는 Windows 8 대상으로 지정하려면 WDF 1.11 이하를 사용합니다.
- Windows 8.1 대상으로 지정하려면 KMDF 1.13 이하 또는 UMDF 1.x 또는 UMDF 2.0을 사용합니다.
- Windows 10 버전 1507을 대상으로 하려면 KMDF 1.15 이하 또는 UMDF 1.x 또는 UMDF 2.15 이하를 사용합니다.
KMDF 및 UMDF 버전에 대한 자세한 내용은 KMDF 버전 기록 및 UMDF 버전 기록을 참조하세요.
Visual Studio에서 버전을 설정할 어떻게 할까요? 있나요?
최신 버전의 Windows 및 최신 KMDF 또는 UMDF 버전용 드라이버 프로젝트를 빌드하는 경우 기본값을 유지하고 이 단계를 건너뛸 수 있습니다.
액세스 권한이 없는 경우 다음 단계를 수행하세요.
- 솔루션을 마우스 오른쪽 단추로 클릭하고 Configuration Manager 선택합니다. 프로젝트 구성을 원하는 값(예: 디버그)으로 설정합니다.
- 드라이버 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 구성 속성->드라이버 설정->드라이버 모델을 엽니다. 드라이버 모델 설정에서 KMDF 버전 부(대상 버전) 또는 UMDF 버전 부(대상 버전) 값을 원하는 값으로 변경합니다. KMDF 버전 부 버전(최소 필수) 및 UMDF 버전 부 버전(최소 필요)에 대한 자세한 내용은 최소 필요 지정을 참조하세요.
Windows 10 함께 제공되는 WDK(Windows 드라이버 키트)를 사용하여 KMDF 1.9-1.29 드라이버와 UMDF 1.9-2.29 드라이버를 빌드할 수 있습니다.
KMDF 및 UMDF 버전에 대한 자세한 내용은 KMDF 버전 기록 및 UMDF 버전 기록을 참조하세요.
연결 및 로드
Microsoft Visual Studio에서 WDF(Windows 드라이버 프레임워크) 프로젝트를 빌드할 때 MSBuild는 드라이버를 적절한 프레임워크 라이브러리, 라이브러리의 로더 및 스텁 파일에 연결합니다. 이 모든 것이 WDK에 포함됩니다. (필요한 경우 드라이버 패키지와 함께 배포할 수 있도록 라이브러리 및 로더도 프레임워크의 공동 설치 관리자 에 포함됩니다.)
스텁 파일에는 FxDriverEntry라는 특수 진입점 루틴이 포함되어 있습니다. MSBuild는 스텁의 FxDriverEntry 루틴을 프레임워크 기반 드라이버의 초기 진입점으로 설정합니다.
운영 체제가 프레임워크 기반 드라이버를 로드할 때 스텁 파일과 라이브러리의 로더도 로드합니다. 다음으로 시스템은 스텁 파일의 FxDriverEntry 루틴을 호출합니다. 그런 다음 이 루틴은 로더를 호출합니다. 로더는 드라이버에 필요한 프레임워크 라이브러리의 버전을 확인한 다음 올바른 버전의 라이브러리 를 커널 모드 서비스로 로드합니다(아직 로드되지 않은 경우). 마지막으로 라이브러리는 드라이버의 DriverEntry 루틴을 호출합니다.