Compartilhar via


Aplicativo de suporte de hardware (HSA): etapas para desenvolvedores de aplicativo

Este tópico descreve como associar um aplicativo específico do dispositivo a um driver ou ponto de extremidade RPC (Chamada de Procedimento Remoto). Quando emparelhado dessa maneira, o aplicativo é chamado de Aplicativo de Suporte de Hardware (HSA). Você pode distribuir e atualizar um Aplicativo de Suporte de Hardware por meio da Microsoft Store.

Comece com um aplicativo Plataforma Universal do Windows (UWP) ou um aplicativo de área de trabalho (Win32). Se você quiser usar um aplicativo da área de trabalho, use a Ponte de Desktop para criar um Pacote de Aplicativos Windows que você pode carregar na Loja.

Esta página descreve o procedimento para um aplicativo UWP, mas as etapas são semelhantes para a opção Win32.

As etapas para o desenvolvedor do driver são descritas em Aplicativo de Suporte a Hardware (HSA): Etapas para Desenvolvedores de Drivers.

Introdução

Primeiro, instale a versão mais recente do Visual Studio e crie um projeto de aplicativo UWP. Para criar um aplicativo UWP com uma funcionalidade personalizada, você precisará do SDK do Windows versão 10.0.15063 (Atualização do Windows 10 para Criadores) ou posterior. Seu arquivo de projeto também deve especificar a versão 10.0.15063 ou superior. Para obter mais ajuda para configurar, consulte Desenvolver aplicativos UWP usando o Visual Studio.

A partir do Windows 10 versão 1709, você pode especificar que um aplicativo de Plataforma Universal do Windows (UWP) só deverá ser carregado se um driver específico estiver presente. Para saber como, consulte Emparelhar um driver com um aplicativo UWP.

Criar uma conta da Microsoft Store

É necessário ter uma conta de desenvolvedor na Microsoft Store. Os parceiros de hardware precisarão de uma conta da Microsoft Store diferente de sua conta de parceiro de hardware. Você precisará do nome do editor ao criar o manifesto do aplicativo e os metadados do dispositivo em etapas posteriores. Você também pode reservar um nome para seu aplicativo depois de criar um perfil de loja.

Para criar uma conta da Microsoft Store, vá para Registrar-se. Para obter mais informações, confira Publicar aplicativos e jogos do Windows.

Escolher uma linguagem de programação para o aplicativo

Se o aplicativo se comunicar com um driver, você poderá usar Windows.Devices.Custom, que faz parte da API do WinRT e, portanto, está disponível em JavaScript, C# e C++.

Se o aplicativo se comunicar com um serviço NT, você precisará usar as APIs RPC. Como as APIs RPC são APIs do Win32 que não estão disponíveis no WinRT, você precisa usar C++, C++/CLI ou encapsular as chamadas RPC usando a interoperabilidade do .NET (PInvoke). Para obter mais informações, consulte Chamar Funções Nativas de Código Gerenciado e Programação .NET com C++/CLI.

Entre em contato com o proprietário do recurso personalizado

Agora você está pronto para solicitar acesso a um recurso personalizado de um proprietário do recurso. Você precisará reunir as seguintes informações:

  • PFN do aplicativo (Nome da Família de Pacotes) da Microsoft Store

  • Nome do recurso personalizado

  • Hash de Assinatura do certificado de assinatura do aplicativo que pode ser gerado a partir do arquivo .cer usando certutil.exe. O certificado deve ser SHA-256.

Para gerar o hash de assinatura, execute C:\Windows\System32\certutil.exe -dump CertificateName.cer.

Procure o hash de assinatura próximo à parte inferior e verifique se é SHA256. Caso contrário, use um certificado SHA256 para assinar seu aplicativo. O resultado deverá ter a seguinte aparência:

Signature Hash:
ca9fc964db7e0c2938778f4559946833e7a8cfde0f3eaa07650766d4764e86c4

O proprietário do recurso usa essas informações para gerar um arquivo Descritor de recurso personalizado assinado e envia esse arquivo para o desenvolvedor do aplicativo.

O desenvolvedor do aplicativo pode continuar desenvolvendo um aplicativo com recursos personalizados no modo de desenvolvedor enquanto aguarda que o proprietário do recurso aprove a solicitação. Por exemplo, use o seguinte no SCCD em um PC desktop no Modo de Desenvolvedor:

  • Entrada de catálogo no SCCD.

    <Catalog>FFFF</Catalog>
    
  • Hash de Assinatura de Certificado na entrada da entidade autorizada no SCCD. Embora não seja aplicado nem validado, coloque uma sequência de 64 caracteres.

    <AuthorizedEntity AppPackageFamilyName="MicrosoftHSATest.Microsoft.SDKSamples.Hsa.CPP_q536wpkpf5cy2" CertificateSignatureHash="ca9fc964db7e0c2938778f4559946833e7a8cfde0f3eaa07650766d4764e86c4"></AuthorizedEntity>
    

Adicionar uma funcionalidade personalizada ao Manifesto do Pacote do Aplicativo

Em seguida, modifique o arquivo de origem do manifesto do pacote do aplicativo (Package.appxmanifest) para incluir um atributo de recursos.

<?xml version="1.0" encoding="utf-8"?>
<Package
  ...
  xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4">
...
<Capabilities>
    <uap4:CustomCapability Name="CompanyName.customCapabilityName_PublisherID"/>
</Capabilities>
</Package>

Em seguida, copie o arquivo SCCD para a raiz do pacote appx. No gerenciador de soluções do Visual Studio, clique com o botão direito do mouse em "project-> Add -> Existing Item…" para adicionar o SCCD ao seu projeto.

Adicionando um arquivo SCCD ao pacote appx.

Marque o SCCD como conteúdo de compilação clicando com o botão direito do mouse no arquivo SCCD e alterando Content para True. Para um projeto C#, use a propriedade Build Action = Content, e para um projeto JavaScript, use Package Action = Content.

Marcando SCCD como conteúdo.

Por fim, clique com o botão direito do mouse no projeto, selecione Loja e, em seguida, Criar Pacotes de Aplicativos.

Não há suporte para aplicativos UWP com recursos personalizados em plataformas móveis.

Instalar o Aplicativo

Para pré-instalar um aplicativo UWP com recursos personalizados, use DISM – Gerenciamento e Manutenção de Imagens de Implantação.

Solução de problemas

Quando o computador de destino está no Modo de Desenvolvedor, você pode tentar as seguintes etapas para depurar a falha de registro do aplicativo:

  1. Remova a entrada de funcionalidade personalizada do manifesto do AppX.

  2. Compile seu app e o implante.

  3. Em uma janela do PowerShell, digite Get-AppxPackage.

  4. Procure seu aplicativo na lista e verifique o nome exato da família de pacotes para seu aplicativo.

  5. Atualize seu SCCD com o nome da família de pacotes.

  6. Adicione a entrada de funcionalidade personalizada de volta ao manifesto do AppX.

  7. Recrie e implante.

Confira também

Aplicativo de suporte de hardware (HSA): etapas para desenvolvedores de drivers

Habilitar o dispositivo para desenvolvimento

Exemplo de Funcionalidade Personalizada

Introdução ao desenvolvimento de drivers do Windows

Emparelhar um driver com um aplicativo da UWP (Plataforma Universal do Windows).

Introdução à Plataforma Universal do Windows

UWP (Plataforma Universal do Windows)