다음을 통해 공유


사용자 지정 디바이스에 대한 디자인 고려 사항

이 항목에서는 디바이스에 사용자 지정 드라이버가 필요한지 여부를 결정하는 데 도움이 되는 디자인 고려 사항에 대해 설명합니다.

구현할 드라이버의 유형 결정

이 표에서는 디바이스에 대한 사용자 지정 드라이버를 개발하고 디바이스 액세스 API를 사용하여 통신해야 하는 경우와 Windows에서 제공하는 디바이스 스택을 대신 사용해야 하는 경우를 설명합니다.

지원하려면 이행
다음을 비롯한 잘 알려진 디바이스:
  • 센서
  • 위치
  • 웹캠
  • 근접
  • 짧은 메시지 서비스(SMS)
  • 모바일 광대역

많은 유형의 잘 알려진 디바이스의 경우 Windows에는 드라이버와 Windows 간의 통신을 관리하는 API 및 클래스 확장 DDI(디바이스 드라이버 인터페이스)가 포함되어 있으므로 사용자 지정 드라이버가 필요하지 않습니다. 센서, 위치 및 WPD(Windows 이식 가능 디바이스) 디바이스는 이러한 지원을 제공하는 디바이스 클래스의 몇 가지 예입니다. 이러한 Windows 제공 DPI 중 하나를 사용하여 데이터 및 명령을 보내고 받는 드라이버를 빌드하는 경우 Windows 스토어 앱에서 디바이스 액세스 API를 사용하여 액세스를 조정하거나 I/O(입출력) 제어 코드를 드라이버에 직접 보낼 필요가 없습니다.
Windows 스토어 앱이 디바이스 클래스에 Windows 런타임 API를 사용하여 잘 알려진 디바이스에 대한 액세스를 요청하는 경우 Windows 8은 디바이스 유형에 따라 디바이스 액세스를 처리합니다. 앱은 항상 개인 식별 정보를 공개하지 않는 잘 알려진 유형의 디바이스(예: 가속도계)에 액세스할 수 있습니다. 앱이 액세스하려면 먼저 애플리케이션 매니페스트에서 잘 알려진 다른 유형의 디바이스를 선언해야 합니다. 사용자는 위치, 웹캠 및 마이크 디바이스와 같은 중요한 정보를 표시하거나 모바일 광대역 디바이스와 같은 사용자 비용을 부담할 수 있는 디바이스에 액세스할 수 있는 권한을 앱에 부여해야 합니다.
MTP 서비스를 구현하는 WPD 디바이스입니다.
MTP 클래스 드라이버를 사용하거나 WPD DDI를 사용하여 드라이버를 빌드할 수 있습니다.
Windows 8은 MTP 디바이스 서비스를 지원합니다. 또한 앱은 windows.Devices.Portable Windows 런타임 API, COM(이식 가능한 디바이스 구성 요소 개체 모델) API 또는 WPD Automation과 사용하여 디바이스에 액세스할 수 있습니다. 앱은 디바이스 액세스 API를 사용할 필요가 없습니다.
Windows에서 제공하는 클래스 확장 또는 클래스 드라이버가 없는 디바이스입니다.
이 경우 특수 디바이스에 대한 내부 디바이스 UWP 디바이스 앱을 참조하여 디바이스 액세스 API를 사용하여 사용자 지정 드라이버 액세스를 구현해야 하는지 여부를 확인합니다.

보안 고려 사항

다음 문서에서는 보안 C++ 코드를 작성하기 위한 지침을 제공합니다.

  • C++ 대한 보안 모범 사례
  • [애플리케이션에 대한 패턴 & 사례 보안 지침]/previous-versions/msp-n-p/ff650760(v=pandp.10))

사용자 지정 드라이버 액세스 샘플, 내부 디바이스 대한 UWP 디바이스 앱, 하드웨어 개발자 센터