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

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

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

사례 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을 사용할 가능성은 매우 낮습니다. 하지만 그렇게 하는 경우 다음 단계를 수행합니다.

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

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

  3. 이름위치 상자를 입력하고 확인을 선택합니다.

  4. 이 시점에서 빈 WDM 드라이버 프로젝트가 있습니다. 솔루션 탐색기 창에서 드라이버 프로젝트를 길게 누르거나 마우스 오른쪽 단추로 클릭하고 추가 | 새 항목입니다.

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

    참고

    .cpp 파일 대신 .c 파일을 만들려면 확장명을 .c 로 지정한 이름을 입력합니다.

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

  7. 소프트웨어 드라이버에 필요한 함수를 구현합니다. 함수를 구현하고 구성할 때 헤더 파일과 추가 .cpp 또는 .c 파일을 추가하도록 결정할 수 있습니다.