Compartilhar via


Considerações de design para dispositivos personalizados

Este tópico descreve considerações de design que podem ajudá-lo a determinar se seu dispositivo precisa de um driver personalizado.

Determinando o tipo de driver a ser implementado

Esta tabela descreve quando você deve desenvolver um driver personalizado para seu dispositivo e se comunicar com ele usando a API de Acesso ao Dispositivo e quando você deve usar pilhas de dispositivos fornecidas pelo Windows.

Para dar suporte Implementação
Dispositivos conhecidos, incluindo:
  • Sensor
  • Localização
  • Webcam
  • Proximidade
  • SMS (serviço de mensagem curta)
  • Banda larga móvel

Para muitos tipos de dispositivos conhecidos, você não precisa de um driver personalizado, pois o Windows inclui APIs e DDIs (interfaces de driver de dispositivo de extensão de classe) que gerenciam a comunicação entre o driver e o Windows. Sensores, localização e dispositivos WPD (Dispositivo Portátil) do Windows são alguns exemplos de classes de dispositivo que têm esse suporte. Se você criar um driver que usa um desses DDIs fornecidos pelo Windows para enviar e receber dados e comandos, não será necessário que seu aplicativo da Windows Store use a API de Acesso ao Dispositivo para intermediar o acesso ou enviar códigos de controle de E/S (entrada/saída) diretamente para o driver.
Quando um aplicativo da Windows Store solicita acesso a um dispositivo conhecido usando a API do Windows Runtime para sua classe de dispositivo, o Windows 8 manipulará o acesso ao dispositivo com base no tipo de dispositivo. Os aplicativos sempre terão acesso a alguns tipos conhecidos de dispositivos (como acelerômetros) que não revelam informações de identificação pessoal. Outros tipos de dispositivos conhecidos devem ser declarados no manifesto do aplicativo antes que um aplicativo possa acessá-los. O usuário deve conceder permissão para um aplicativo acessar dispositivos que revelam informações confidenciais, como localização, webcam e dispositivos de microfone, ou pode custar o dinheiro do usuário, como dispositivos de banda larga móvel.
Um dispositivo WPD que implementa serviços MTP.
Você pode usar o driver de classe MTP ou criar um driver usando a DDI do WPD.
O Windows 8 oferece suporte para serviços de dispositivo MTP. E um aplicativo pode usar o Windows.Devices.Portable API do Windows Runtime, a API COM (Portable Device Component Object Model) ou a Automação WPD para acessar o dispositivo. Seu aplicativo não precisa usar a API de Acesso ao Dispositivo.
Um dispositivo que não tem uma extensão de classe fornecida pelo Windows ou um driver de classe.
Nesse caso, consulte os aplicativos de dispositivo UWP para dispositivos internos para dispositivos especializados para determinar se você deve implementar o acesso personalizado ao driver usando a API de Acesso ao Dispositivo.

Considerações de segurança

Os artigos a seguir fornecem diretrizes para escrever código C++ seguro:

  • Práticas recomendadas de segurança para C++
  • [Padrões & diretrizes de segurança de práticas para aplicativos]/previous-versions/msp-n-p/ff650760(v=pandp.10))

de exemplo de acesso ao driver personalizado, aplicativos de dispositivo UWP para dispositivos internos, Centro de Desenvolvimento de Hardware