Partilhar 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 a Dispositivos e quando você deve usar pilhas de dispositivos fornecidas pelo Windows.

Para apoiar Execução
Dispositivos bem conhecidos, incluindo:
  • Sensor
  • Localização
  • Webcam
  • Proximidade
  • Serviço de mensagens curtas (SMS)
  • Banda larga móvel

Para muitos tipos de dispositivos conhecidos, você não precisa de um driver personalizado, porque 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. 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 há necessidade de seu aplicativo da Windows Store usar 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 bem conhecidos de dispositivos (como acelerômetros) que não revelam nenhuma informação pessoalmente identificável. 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 dispositivos de localização, webcam e 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 você pode criar um driver usando o WPD DDI.
O Windows 8 fornece suporte para serviços de dispositivo MTP. E um aplicativo pode usar o Windows.Devices.Portable a API do Tempo de Execução do Windows, 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 a Dispositivos.
Um dispositivo que não tem uma extensão de classe fornecida pelo Windows ou driver de classe.
Nesse caso, consulte o 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 seguintes artigos fornecem orientação para escrever código C++ seguro:

Exemplo de Acesso de Driver Personalizadoaplicativos de dispositivo UWP para dispositivos internos, Centro de Desenvolvimento de Hardware