Partager via


Application de support matériel (HSA) : étapes pour les développeurs d’applications

Cette rubrique explique comment associer une application spécifique à un appareil à un point de terminaison de pilote ou RPC (appel de procédure distante). Lorsqu’elle est associée de cette façon, l’application est appelée application de support matériel (HSA). Vous pouvez distribuer et mettre à jour une application de support matériel via le Microsoft Store.

Commencez par une application plateforme Windows universelle (UWP) ou une application de bureau (Win32). Si vous souhaitez utiliser une application de bureau, utilisez le Pont du bureau pour créer un package d’application Windows que vous pouvez charger dans le Windows Store.

Cette page décrit la procédure d’une application UWP, mais les étapes sont similaires pour l’option Win32.

Les étapes pour le développeur de pilotes sont décrites dans Application de support matériel (HSA) : étapes pour les développeurs de pilotes.

Mise en route

Tout d’abord, installez la dernière version de Visual Studio et créez un projet d’application UWP. Pour créer une application UWP avec une fonctionnalité personnalisée, vous avez besoin du SDK Windows version 10.0.15063 (Windows 10 Creators Update) ou ultérieure. Votre fichier projet doit également spécifier la version 10.0.15063 ou ultérieure. Pour plus d’aide sur la configuration, consultez Développer des applications UWP à l’aide de Visual Studio.

À compter de Windows 10 version 1709, vous pouvez spécifier qu’une application plateforme Windows universelle (UWP) ne doit se charger que si un pilote spécifique est présent. Pour savoir comment procéder, consultez Association d’un pilote avec une application UWP.

Créer un compte Microsoft Store

Un compte de développeur sur le Microsoft Store est requis. Les partenaires matériels auront besoin d’un compte Microsoft Store différent de leur compte partenaire matériel. Vous aurez besoin du nom de l’éditeur lorsque vous créerez le manifeste de l’application et les métadonnées de l’appareil dans les étapes ultérieures. Vous pouvez également réserver un nom pour votre application une fois que vous avez créé un profil store.

Pour créer un compte Microsoft Store, accédez à Se inscrire. Pour plus d’informations, consultez Publier des applications et des jeux Windows.

Choix d’un langage de programmation pour l’application

Si votre application communique avec un pilote, vous pouvez utiliser Windows.Devices.Custom, qui fait partie de l’API WinRT et qui est donc disponible en JavaScript, C# et C++.

Si votre application communique avec un service NT, vous devez utiliser les API RPC. Étant donné que les API RPC sont des API Win32 qui ne sont pas disponibles dans WinRT, vous devez utiliser C++, C++/CLI ou encapsuler les appels RPC à l’aide de .NET Interop (PInvoke). Pour plus d’informations, consultez Appel de fonctions natives à partir de code managé et programmation .NET avec C++/CLI.

Contacter le propriétaire de la capacité personnalisée

Vous êtes maintenant prêt à demander l’accès à une fonctionnalité personnalisée auprès d’un propriétaire de capacité. Vous devez collecter les informations suivantes :

  • App PFN (Nom de la famille de packages) à partir du Microsoft Store

  • Nom de la fonctionnalité personnalisée

  • Hachage de signature du certificat de signature d’application qui peut être généré à partir de votre fichier .cer à l’aide de certutil.exe. Le certificat doit être SHA-256.

Pour générer le hachage de signature, exécutez C:\Windows\System32\certutil.exe -dump CertificateName.cer.

Recherchez le hachage de signature en bas et vérifiez qu’il s’agit de SHA256. Sinon, utilisez un certificat SHA256 pour signer votre application. Le résultat doit ressembler à ceci :

Signature Hash:
ca9fc964db7e0c2938778f4559946833e7a8cfde0f3eaa07650766d4764e86c4

Le propriétaire de la fonctionnalité utilise ces informations pour générer un fichier de descripteur de capacité personnalisée signé et envoie ce fichier au développeur de l’application.

Le développeur d’application peut continuer à développer une application avec des fonctionnalités personnalisées en mode développeur tout en attendant que le propriétaire de la fonctionnalité approuve la demande. Par exemple, utilisez ce qui suit dans le SCCD sur un PC de bureau en mode développeur :

  • Entrée de catalogue dans le SCCD.

    <Catalog>FFFF</Catalog>
    
  • Hachage de signature de certificat dans l’entrée d’entité autorisée dans le SCCD. Bien qu’elle ne soit ni appliquée ni validée, placez une séquence de 64 caractères.

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

Ajouter une fonctionnalité personnalisée au manifeste du package d’application

Ensuite, modifiez le fichier source du manifeste de votre package d’application (Package.appxmanifest) pour inclure un attribut capabilities.

<?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>

Copiez ensuite le fichier SCCD à la racine du package appx. Dans l’Explorateur de solutions de Visual Studio, cliquez avec le bouton droit sur « projet -> Ajouter -> Élément existant... » pour ajouter le SCCD à votre projet.

Ajout d’un fichier SCCD dans le package appx.

Marquez le SCCD comme contenu de build en cliquant avec le bouton droit sur le fichier SCCD et en remplaçant Contenu par True. Pour un projet C#, utilisez la propriété Build Action = Content, et pour un projet JavaScript, utilisez Package Action = Content.

Marquage de SCCD en tant que contenu.

Enfin, cliquez avec le bouton droit sur le projet, sélectionnez Store, puis Créer des packages d’application.

Il n’existe aucune prise en charge des applications UWP avec des fonctionnalités personnalisées sur les plateformes mobiles.

Installer l’application

Pour préinstaller une application UWP avec des fonctionnalités personnalisées, utilisez DISM - Deployment Image Servicing and Management.

Dépannage

Lorsque l’ordinateur cible est en mode développeur, vous pouvez essayer les étapes suivantes pour déboguer l’échec d’inscription d’application :

  1. Supprimez l’entrée de fonctionnalité personnalisée de votre manifeste AppX.

  2. Générez votre application et déployez-la.

  3. Dans une fenêtre PowerShell, tapez Get-AppxPackage.

  4. Recherchez votre application dans la liste et vérifiez le nom exact de la famille de packages de votre application.

  5. Mettez à jour votre SCCD avec le nom de la famille de packages.

  6. Rajoutez l’entrée de fonctionnalité personnalisée dans votre manifeste AppX.

  7. Régénérez et déployez.

Voir aussi

Application de support matériel (HSA) : étapes pour les développeurs de pilotes

Activer votre appareil pour le développement

Exemple de fonctionnalité personnalisée

Prise en main avec les pilotes Windows

Association d’un pilote à une application plateforme Windows universelle (UWP)

Introduction à la plateforme Windows universelle

Plateforme Windows universelle (UWP)