Important
디바이스 메타데이터는 더 이상 사용되지 않으며 향후 Windows 릴리스에서 제거될 예정입니다. 이 기능의 대체에 대한 자세한 내용은 드라이버 패키지 컨테이너 메타데이터를 참조하세요.
이 항목에서는 UWP 디바이스 앱이 내부 디바이스에 액세스할 수 있는 방법을 소개합니다. Internal devices are devices that reside inside or are integrated with the PC enclosure.
이 항목에 언급된 일부 API는 외부 디바이스에 액세스하는 데도 사용할 수 있습니다. 이 항목에서는 특히 내부 디바이스에 액세스하는 데 중점을 둡니다. 각 API에 대한 자세한 내용은 Windows API 참조를 참조하세요.
내부 디바이스 액세스
UWP 앱에서 내부 디바이스에 액세스할 수 있는 세 가지 방법이 있습니다.
| Recommended? | API | Developer | 디바이스 메타데이터가 필요한가요? |
|---|---|---|---|
| Yes | 디바이스 시나리오 API(이미지 캡처, 검사 등) | all developers | no |
| Yes | 디바이스 프로토콜 API(USB, HID 등) | OEM | 예(내부 디바이스에만 해당) |
| No | 사용자 지정 드라이버 액세스 | OEM | yes |
디바이스 시나리오 API
Windows 런타임은 이미지 캡처, 스캔, 인쇄 및 동작 센서 사용을 위한 API와 같이 기본 제공되거나 PC에 연결된 일반 디바이스에 액세스하기 위한 여러 API를 제공합니다. 이러한 API는 특정 시나리오를 염두에 두고 설계되었기 때문에 디바이스 시나리오 API라고 합니다. 디바이스 시나리오 API는 모든 개발자가 사용할 수 있으며 이를 사용하기 위해 디바이스 메타데이터가 필요하지 않습니다. For more info about scenario APIs, see Integrating devices.
디바이스 시나리오 API가 제공하는 것 이상의 액세스는 OEM(또는 OEM과 함께 작동하는 구성 요소 공급업체)으로 제한되며 시스템 컨테이너에 대한 디바이스 메타데이터가 필요합니다.
디바이스 프로토콜 API
OEM/구성 요소 공급자가 시나리오 API에 만족하지 않는 방식으로 내부 디바이스에 액세스해야 하는 경우 디바이스 프로토콜 API를 사용할 수 있습니다. 디바이스 프로토콜 API는 UWP 앱이 USB 및 HID(휴먼 인터페이스 디바이스)에 액세스하는 데 사용할 수 있는 Windows 런타임 API입니다. 액세스 유형은 API에 따라 다릅니다.
| 디바이스 프로토콜 API | Namespace | Access type |
|---|---|---|
| USB | Windows.Devices.Usb | 단독 읽기 및 단독 쓰기 |
| HID | Windows.Devices.HumanInterfaceDevice | 공유 읽기 및 단독 쓰기 |
디바이스 프로토콜 API에 가장 일반적으로 사용되는 Microsoft 클래스 드라이버만 사용하는 주변 디바이스에 액세스하려면 디바이스 메타데이터가 필요하지 않습니다. 그러나 이러한 API를 사용하여 내부 디바이스에 액세스하려면 메타데이터가 필요합니다. 내부 디바이스에 액세스할 때는 디바이스 메타데이터에서 시스템 컨테이너에 대한 권한 있는 앱으로 앱을 지정해야 합니다. 이 요구 사항은 OEM에 대한 내부 디바이스 액세스를 제한합니다.
자세한 내용은 다음을 참조하세요.
디바이스 드라이버 요구 사항 (단계별 가이드의 1단계에서)
디바이스 메타데이터 만들기 (단계별 가이드의 2단계)
사용자 지정 드라이버 액세스
OEM 또는 IHV가 디바이스 프로토콜 API를 사용하여 디바이스(내부 또는 주변 장치) 디바이스에 액세스할 수 없는 경우 먼저 Microsoft에 문의하여 Windows 에코시스템 팀과 시나리오를 논의해야 합니다. Microsoft 승인 시 UWP 디바이스 앱이 사용자 지정 드라이버에 직접 액세스할 수 있는 경우도 있습니다.
사용자 지정 드라이버 액세스에는 디바이스 메타데이터가 필요합니다. 사용자 지정 드라이버에 액세스하려면 디바이스 메타데이터에서 주변 장치 또는 시스템 컨테이너에 대한 권한 있는 앱으로 앱을 지정해야 합니다. 사용자 지정 드라이버 액세스에 대한 자세한 내용은 PC 내부 특수 디바이스에 대한 UWP 디바이스 앱 디자인 가이드를 참조하세요.
Component suppliers
구성 요소 공급업체는 OEM과 협력하여 내부 디바이스용 UWP 디바이스 앱을 개발할 수 있습니다. 이 작업은 다음과 같은 몇 가지 방법으로 발생할 수 있습니다.
구성 요소 공급업체는 앱을 개발하고 배포합니다. 이 경우 구성 요소 공급업체는 내부 디바이스에 액세스하는 앱과 드라이버를 소유, 개발 및 배포합니다. OEM은 디바이스 메타데이터를 소유합니다.
OEM은 앱을 개발하고 배포합니다. 이 경우 OEM은 다른 구성 요소 공급업체에서 하나 이상의 내부 디바이스에 액세스하는 앱을 개발하고 배포합니다. OEM은 궁극적으로 앱 개발, 앱 배포 및 디바이스 메타데이터 유지 관리를 소유합니다. 구성 요소 공급업체는 드라이버를 소유합니다.
이러한 워크플로에 대한 자세한 내용은 PC 내부 특수 디바이스에 대한 UWP 디바이스 앱 디자인 가이드를 참조하세요.