Considerações de design para dispositivos personalizados
Este tópico descreve considerações de design que podem ajudá-lo a determinar se o 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 a Dispositivos e quando você deve usar pilhas de dispositivos fornecidas pelo Windows.
Para dar suporte a… | Implementação |
---|---|
Dispositivos bem conhecidos, incluindo:
|
Para muitos tipos de dispositivos conhecidos, você não precisa de um driver personalizado, porque o Windows inclui APIs e interfaces de driver de dispositivo (DDIs) de extensão de classe que gerenciam a comunicação entre o driver e o Windows. Sensor, localização e dispositivos WPD (Windows Portable Device) são alguns exemplos de classes de dispositivos que têm esse suporte. Se você criar um driver que usa uma dessas DDIs fornecidas 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 a Dispositivos para intermediar o acesso ou enviar códigos de controle de entrada/saída (E/S) diretamente para o driver. Quando um aplicativo da Windows Store solicita acesso a um dispositivo conhecido usando a API do Tempo de Execução do Windows para sua classe de dispositivo, o Windows 8 manipula 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 nenhuma informação 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 que um aplicativo acesse dispositivos que revelem informações confidenciais, como localização, webcam e dispositivos de microfone, ou que possam custar dinheiro ao 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 pode criar um driver usando o WPD DDI. O Windows 8 fornece suporte para serviços de dispositivo MTP. E um aplicativo pode usar a API do Tempo de Execução do Windows Windows.Devices.Portable, 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 de driver personalizado usando a API de acesso a dispositivo. |
Considerações de segurança
Os artigos a seguir fornecem orientação para escrever código C++ seguro:
- Melhores práticas de segurança para C++
- [Patterns & Practices Security Guidance for Applications]/previous-versions/msp-n-p/ff650760(v=pandp.10))
Tópicos relacionados
Exemplo de acesso de driver personalizado, aplicativos de dispositivo UWP para dispositivos internos, Centro de Desenvolvimento de Hardware