새 소프트웨어 드라이버 만들기

이 항목에서는 Visual Studio를 사용하여 새 소프트웨어 드라이버 작성을 시작하는 방법에 대해 설명합니다. 소프트웨어 드라이버는 다른 항목에서 다루는 장치 기능 드라이버, 필터 드라이버 및 파일 시스템 드라이버와는 다릅니다. 소프트웨어 드라이버 및 소프트웨어 드라이버가 다른 유형의 드라이버와 어떻게 다른지에 대한 자세한 내용은 드라이버란 무엇입니까?드라이버 모델 선택을 참조하세요.

시작하려면 먼저 자신의 소프트웨어 드라이버에 적합한 드라이버 모델을 결정합니다. KMDF(커널 모드 드라이버 프레임워크), 레거시 NT 드라이버 모델 및 WDM(Windows 드라이버 모델)의 3가지 옵션이 있습니다. 가장 적합한 모델을 확인하는 데 도움을 얻으려면 드라이버 모델 선택을 참조하세요.

사례 1: KMDF를 사용하는 경우

  1. Visual Studio의 파일 메뉴에서 새로 만들기 | 프로젝트를 선택합니다.
  2. 새 프로젝트 대화 상자의 왼쪽 창에서 WDF를 찾아 선택합니다.
  3. 가운데 창에서 **KMDF(커널 모드 드라이버)**를 선택합니다.
  4. 이름위치 상자에 해당 정보를 입력하고 확인을 클릭합니다. 자세한 내용은 템플릿 기반 KMDF 드라이버 작성을 참조하세요. 참고  새 KMDF 드라이버를 만들 경우 32자 이하의 드라이버 이름을 선택해야 합니다. 길이 제한은 wdfglobals.h에서 정의됩니다.  
  5. 이로써 대부분의 KMDF 드라이버에 필요한 일반 코드를 구현하는 드라이버 프로젝트가 만들어졌습니다. 이제 자신의 소프트웨어 드라이버에 맞는 코드를 제공할 수 있습니다.

사례 2: 레거시 NT 모델을 사용하는 경우

  1. Visual Studio의 파일 메뉴에서 새로 만들기 | 프로젝트를 선택합니다.

  2. Visual Studio의 새 프로젝트 대화 상자에 있는 Windows 드라이버에서 WDM | 빈 WDM 드라이버를 선택합니다.

    참고  WDM 드라이버를 작성할 것은 아니지만 빈 WDM 드라이버 템플릿이 필요합니다.

     

  3. 이름위치 상자에 해당 정보를 입력하고 확인을 클릭합니다.

  4. 이제 빈 WDM 드라이버 프로젝트가 만들어졌습니다. 솔루션 탐색기 창에서 드라이버 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가 | 새 항목을 선택합니다.

  5. 새 항목 추가 대화 상자에서 **C++ 파일(.cpp)**을 선택하고 파일의 이름을 입력한 다음 확인을 클릭합니다.

    참고  .cpp 파일 대신 .c 파일을 만들려면 .c 확장명을 가진 이름을 입력합니다.

     

  6. ntddk.h를 포함합니다.

  7. 소프트웨어 드라이버에 필요한 기능을 구현합니다. 기능을 구현하고 구성할 때 헤더 파일 및 .cpp 또는 .c 파일을 추가할 수 있습니다.

사례 3: WDM을 사용하는 경우

소프트웨어 드라이버에 WDM을 사용하는 경우는 거의 없습니다. 그래도 WDM을 사용하려면 다음 단계를 수행합니다.

  1. Visual Studio의 파일 메뉴에서 새로 만들기 | 프로젝트를 선택합니다.

  2. Visual Studio의 새 프로젝트 대화 상자에 있는 Windows 드라이버에서 WDM을 선택합니다.

  3. 이름위치 상자에 해당 정보를 입력하고 확인을 클릭합니다.

  4. 이제 빈 WDM 드라이버 프로젝트가 만들어졌습니다. 솔루션 탐색기 창에서 드라이버 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가 | 새 항목을 선택합니다.

  5. 새 항목 추가 대화 상자에서 **C++ 파일(.cpp)**을 선택하고 파일의 이름을 입력한 다음 확인을 클릭합니다.

    참고  .cpp 파일 대신 .c 파일을 만들려면 .c 확장명을 가진 이름을 입력합니다.

     

  6. wdm.h를 포함합니다.

  7. 소프트웨어 드라이버에 필요한 기능을 구현합니다. 기능을 구현하고 구성할 때 헤더 파일 및 .cpp 또는 .c 파일을 추가할 수 있습니다.