Рекомендации по проектированию пользовательских устройств
В этом разделе описываются рекомендации по проектированию, которые помогут определить, требуется ли вашему устройству пользовательский драйвер.
Определение типа драйвера для реализации
В этой таблице описывается, когда следует разрабатывать пользовательский драйвер для устройства и взаимодействовать с ним с помощью API доступа к устройствам, а также при использовании стеков устройств, предоставляемых Windows.
Для поддержки... | Внедрение |
---|---|
Известные устройства, в том числе:
|
Для многих типов известных устройств вам не нужен пользовательский драйвер, так как 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++:
- Рекомендации по безопасности для C++
- [Рекомендации по обеспечению безопасности шаблонов для приложений]/предыдущие версии/msp-n-p/ff650760(v=pandp.10))
См. также
Пример пользовательского доступа к драйверам, приложения устройств UWP для внутренних устройств Центр разработки оборудования