다음을 통해 공유


DCH 디자인 원칙 및 모범 사례

이 페이지에서는 DCH 규격 드라이버 패키지에 대한 디자인 원칙 및 모범 사례를 설명합니다.

DCH 디자인 원칙

드라이버 패키지가 DCH 규격이 되도록 고려해야 할 세 가지 디자인 원칙이 있습니다.

  • 선언적 (D): 선언적 INF 지시문만 사용하여 드라이버 패키지를 설치합니다. 공동 설치 관리자 또는 RegisterDll 함수를 포함하지 마세요.

  • 구성 요소화 (C): 버전별, OEM별 및 드라이버 패키지에 대한 선택적 사용자 지정은 기본 드라이버 패키지와 별개입니다. 따라서 핵심 디바이스 기능만 제공하는 기본 드라이버 패키지는 사용자 지정과 독립적으로 대상 지정, 플라이트 및 서비스를 제공할 수 있습니다.

  • H(하드웨어 지원 앱): 드라이버 패키지와 연결된 모든 UI(사용자 인터페이스) 구성 요소는 HSA(하드웨어 지원 앱)로 패키지되거나 OEM 디바이스에 미리 설치되어야 합니다. HSA는 드라이버 패키지와 쌍을 이루는 선택적 디바이스별 앱입니다. 애플리케이션은 유니버설 Windows 플랫폼(UWP) 또는 데스크톱 브리지 앱일 수 있습니다. Microsoft Store를 통해 HSA를 배포하고 업데이트해야 합니다. 자세한 내용은 HSA(하드웨어 지원 앱): 드라이버 개발자를 위한 단계HSA(하드웨어 지원 앱): 앱 개발자를 위한 단계를 참조하세요.

약어 "DCH"는 위에 나열된 원칙을 나타냅니다. DCH 규격 드라이버 패키지 예제 페이지를 참조하여 드라이버 샘플이 DCH 디자인 원칙을 적용하는 방법을 확인하세요.

개요

DCH 규격 드라이버 패키지에는 UWP(유니버설 Windows 플랫폼) 기반 버전의 Windows에서 설치 및 실행되는 INF 파일 및 이진 파일이 포함되어 있습니다. 또한 일반적인 인터페이스 집합을 공유하는 다른 버전의 Windows 10 및 11에서 설치 및 실행됩니다.

DCH 규격 드라이버 이진 파일은 KMDF, UMDF 2 또는 WDM(Windows 드라이버 모델)을 사용할 수 있습니다.

DCH 규격 드라이버 패키지는 다음 부분으로 구성됩니다.

  • 기본 드라이버 패키지
  • 선택적 구성 요소 패키지
  • 선택적 하드웨어 지원 앱

기본 드라이버 패키지에는 모든 핵심 기능 및 공유 코드가 포함되어 있습니다. 선택적 구성 요소 패키지에는 사용자 지정 및 추가 설정이 포함될 수 있습니다.

일반적으로 디바이스 제조업체 또는 IHV(독립 하드웨어 공급업체)는 기본 드라이버 패키지를 씁니다. 그런 다음 시스템 작성기 또는 OEM(원래 장비 제조업체)에서 선택적 구성 요소 패키지를 제공합니다.

IHV가 기본 드라이버 패키지를 인증한 후에는 모든 OEM 시스템에 배포할 수 있습니다. 기본 드라이버 패키지는 하드웨어 부분을 공유하는 모든 시스템에서 사용할 수 있으므로 Microsoft는 배포를 특정 머신으로 제한하는 대신 Windows 참가자 플라이팅을 통해 기본 드라이버 패키지를 광범위하게 테스트할 수 있습니다.

OEM은 OEM 시스템에 제공하는 선택적 사용자 지정만 유효성을 검사합니다.

요구 사항

DCH 디자인 원칙을 따르는 드라이버 패키지를 만들려면 다음 단계를 수행합니다.

  • 드라이버 패키지에 대한 INF 파일을 만듭니다.
    1. 유니버설 드라이버 패키지에서 유효한 INF 섹션 및 지시문 목록을 검토합니다.
    2. InfVerif 도구를 사용하여 드라이버 패키지의 INF 파일이 선언적(D) 요구 사항을 따르는지 확인합니다. 를 전달 infverif /k해야 합니다.
  • 핵심 드라이버 기능이 포함되지 않은 선택적 구성 요소 패키지가 기본 드라이버 패키지와 분리되어 있는지 확인합니다.
  • 드라이버 패키지와 연결된 하드웨어 지원 애플리케이션은 Microsoft Store를 통해 배포해야 합니다.

모범 사례

  • 사용 가능한 최신 Visual Studio에서 WDK(Windows 드라이버 키트)를 사용하는 경우 드라이버 프로젝트 속성의 대상 플랫폼 값을 로 Universal설정합니다. 이렇게 하면 올바른 라이브러리가 자동으로 추가되고 빌드의 일부로 적절한 INF 유효성 검사 및 ApiValidator가 실행됩니다. 가상 하드 디스크 파일에 대한 중요 정보를 제공하려면

    1. 드라이버 프로젝트 속성을 엽니다.
    2. 드라이버 설정을 선택합니다.
    3. 드롭다운 메뉴를 사용하여 대상 플랫폼을Universal로 설정합니다.
  • INF가 대상 플랫폼에 의존하는 사용자 지정 설정 작업을 수행하는 경우 확장 INF로 분리하는 것이 좋습니다. 확장 INF를 기본 드라이버 패키지와 독립적으로 업데이트하여 더 강력하고 서비스 가능하게 만들 수 있습니다. 자세한 내용은 확장명 INF 파일 사용을 참조하세요.

  • 디바이스에서 작동하는 애플리케이션을 제공하려면 하드웨어 지원 앱을 포함합니다. 자세한 내용은 HSA(하드웨어 지원 앱): 드라이버 개발자를 위한 단계를 참조하세요. OEM은 DISM - 배포 이미지 서비스 및 관리를 사용하여 이러한 앱을 미리 로드할 수 있습니다. 또는 사용자가 Microsoft Store에서 앱을 수동으로 다운로드할 수 있습니다.