Поделиться через


Рекомендации по проектированию пользовательских устройств

В этом разделе описываются рекомендации по проектированию, которые помогут определить, требуется ли вашему устройству пользовательский драйвер.

Определение типа драйвера для реализации

В этой таблице описывается, когда следует разрабатывать пользовательский драйвер для устройства и взаимодействовать с ним с помощью API доступа к устройствам, а также при использовании стеков устройств, предоставляемых Windows.

Для поддержки... Внедрение
Известные устройства, в том числе:
  • Sensor
  • Расположение
  • Веб-камера
  • Proximity
  • Служба коротких сообщений (SMS)
  • Широкополосное мобильное подключение

Для многих типов известных устройств вам не нужен пользовательский драйвер, так как Windows включает API и интерфейсы драйверов драйверов расширений класса (DDIs), которые управляют взаимодействием между драйвером и Windows. Устройства датчика, расположения и устройства с переносимым устройством Windows (WPD) — это некоторые примеры классов устройств, которые поддерживают эту поддержку. Если вы создаете драйвер, использующий один из этих DDIs, предоставляемых Windows, для отправки и получения данных и команд, вам не нужно использовать API доступа к устройству для доступа к брокеру или отправки кодов управления входными и выходными данными (I/O) непосредственно драйверу.
Когда приложение Магазина Windows запрашивает доступ к известному устройству с помощью API среда выполнения Windows для своего класса устройства, Windows 8 будет обрабатывать доступ к устройству на основе типа устройства. Приложения всегда получают доступ к некоторым известным типам устройств (например, акселерометрам), которые не раскрывают личные сведения. Другие типы известных устройств должны быть объявлены в манифесте приложения, прежде чем приложение сможет получить к ним доступ. Пользователь должен предоставить приложению разрешение на доступ к устройствам, которые показывают конфиденциальную информацию, например расположение, веб-камеру и микрофон устройства, или могут стоить пользователям деньги, такие как мобильные широкополосные устройства.
Устройство WPD, реализующее службы MTP.
Можно использовать драйвер класса MTP или создать драйвер с помощью WPD DDI.
Windows 8 обеспечивает поддержку служб устройств MTP. Приложение может использовать API Windows.Devices.Portable среда выполнения Windows, API объектной модели переносимых компонентов устройств (COM) или службу автоматизации WPD для доступа к устройству. Приложению не нужно использовать API доступа к устройствам.
Устройство, которое не имеет расширения класса windows или драйвера класса.
В этом случае обратитесь к приложениям устройств UWP для внутренних устройств для специализированных устройств , чтобы определить, следует ли реализовать пользовательский доступ к драйверу с помощью API доступа к устройствам.

Вопросы безопасности

В следующих статьях приведены рекомендации по написанию защищенного кода C++:

Пример пользовательского доступа к драйверам, приложения устройств UWP для внутренних устройств Центр разработки оборудования