새 소프트웨어 드라이버 만들기
이 항목에서는 Visual Studio를 사용하여 새 소프트웨어 드라이버 작성을 시작하는 방법에 대해 설명합니다. 소프트웨어 드라이버는 다른 항목에서 다루는 장치 기능 드라이버, 필터 드라이버 및 파일 시스템 드라이버와는 다릅니다. 소프트웨어 드라이버 및 소프트웨어 드라이버가 다른 유형의 드라이버와 어떻게 다른지에 대한 자세한 내용은 드라이버란 무엇입니까? 및 드라이버 모델 선택을 참조하세요.
시작하려면 먼저 자신의 소프트웨어 드라이버에 적합한 드라이버 모델을 결정합니다. KMDF(커널 모드 드라이버 프레임워크), 레거시 NT 드라이버 모델 및 WDM(Windows 드라이버 모델)의 3가지 옵션이 있습니다. 가장 적합한 모델을 확인하는 데 도움을 얻으려면 드라이버 모델 선택을 참조하세요.
사례 1: KMDF를 사용하는 경우
- Visual Studio의 파일 메뉴에서 새로 만들기 | 프로젝트를 선택합니다.
- 새 프로젝트 대화 상자의 왼쪽 창에서 WDF를 찾아 선택합니다.
- 가운데 창에서 **KMDF(커널 모드 드라이버)**를 선택합니다.
- 이름 및 위치 상자에 해당 정보를 입력하고 확인을 클릭합니다. 자세한 내용은 템플릿 기반 KMDF 드라이버 작성을 참조하세요. 참고 새 KMDF 드라이버를 만들 경우 32자 이하의 드라이버 이름을 선택해야 합니다. 길이 제한은 wdfglobals.h에서 정의됩니다.
- 이로써 대부분의 KMDF 드라이버에 필요한 일반 코드를 구현하는 드라이버 프로젝트가 만들어졌습니다. 이제 자신의 소프트웨어 드라이버에 맞는 코드를 제공할 수 있습니다.
사례 2: 레거시 NT 모델을 사용하는 경우
Visual Studio의 파일 메뉴에서 새로 만들기 | 프로젝트를 선택합니다.
Visual Studio의 새 프로젝트 대화 상자에 있는 Windows 드라이버에서 WDM | 빈 WDM 드라이버를 선택합니다.
참고 WDM 드라이버를 작성할 것은 아니지만 빈 WDM 드라이버 템플릿이 필요합니다.
이름 및 위치 상자에 해당 정보를 입력하고 확인을 클릭합니다.
이제 빈 WDM 드라이버 프로젝트가 만들어졌습니다. 솔루션 탐색기 창에서 드라이버 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가 | 새 항목을 선택합니다.
새 항목 추가 대화 상자에서 **C++ 파일(.cpp)**을 선택하고 파일의 이름을 입력한 다음 확인을 클릭합니다.
참고 .cpp 파일 대신 .c 파일을 만들려면 .c 확장명을 가진 이름을 입력합니다.
ntddk.h를 포함합니다.
소프트웨어 드라이버에 필요한 기능을 구현합니다. 기능을 구현하고 구성할 때 헤더 파일 및 .cpp 또는 .c 파일을 추가할 수 있습니다.
사례 3: WDM을 사용하는 경우
소프트웨어 드라이버에 WDM을 사용하는 경우는 거의 없습니다. 그래도 WDM을 사용하려면 다음 단계를 수행합니다.
Visual Studio의 파일 메뉴에서 새로 만들기 | 프로젝트를 선택합니다.
Visual Studio의 새 프로젝트 대화 상자에 있는 Windows 드라이버에서 WDM을 선택합니다.
이름 및 위치 상자에 해당 정보를 입력하고 확인을 클릭합니다.
이제 빈 WDM 드라이버 프로젝트가 만들어졌습니다. 솔루션 탐색기 창에서 드라이버 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가 | 새 항목을 선택합니다.
새 항목 추가 대화 상자에서 **C++ 파일(.cpp)**을 선택하고 파일의 이름을 입력한 다음 확인을 클릭합니다.
참고 .cpp 파일 대신 .c 파일을 만들려면 .c 확장명을 가진 이름을 입력합니다.
wdm.h를 포함합니다.
소프트웨어 드라이버에 필요한 기능을 구현합니다. 기능을 구현하고 구성할 때 헤더 파일 및 .cpp 또는 .c 파일을 추가할 수 있습니다.