Partager via


Application de Support Matériel (HSA) : Étapes pour les Développeurs d’Applications

Cette rubrique décrit comment associer une application spécifique à un appareil avec un pilote ou un RPC (Remote Procedure Call). Lorsqu’elle est associée de cette manière, l’application est appelée une 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 Universal Windows Platform (UWP) ou une application de bureau (Win32). Si vous souhaitez utiliser une application de bureau, utilisez le Desktop Bridge pour créer un package d’application Windows que vous pouvez télécharger sur le Store.

Cette page décrit la procédure pour 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 aurez besoin de la version 10.0.15063 (Windows 10 Creators Update) ou d’une version ultérieure du SDK Windows. Votre fichier de projet doit également spécifier la version 10.0.15063 ou supérieure. Pour plus d’aide sur la configuration, veuillez consulter la section Développer des applications UWP avec Visual Studio.

À partir de la version 1709 de Windows 10, vous pouvez spécifier qu’une application Universal Windows Platform (UWP) ne doit se charger que si un pilote spécifique est présent. Pour savoir comment, veuillez consulter la section Associer un pilote avec une application UWP.

Créer un compte Microsoft Store

Un compte 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 rédigez le manifeste de l’application et les métadonnées du périphérique aux étapes suivantes. Vous pouvez également réserver un nom pour votre application une fois que vous avez créé un profil de magasin.

Pour créer un compte Microsoft Store, allez sur S’inscrire. Pour plus d’informations, veuillez consulter la section Publier des applications et jeux Windows.

Choisir un langage de programmation pour l’application

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

Si votre application communiquera avec un service NT, vous devrez utiliser les API RPC. Comme les API RPC sont des API Win32 non disponibles dans WinRT, vous devez utiliser soit C++, C++/CLI, soit encapsuler les appels RPC à l’aide de l’interopérabilité .NET (PInvoke). Pour plus d’informations, veuillez consulter la section Appeler des fonctions natives depuis du code managé et .NET programming with C++/CLI.

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

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

  • Nom de famille du package de l’application (PFN) depuis le Microsoft Store

  • Nom de la fonctionnalité personnalisée

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

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

Recherchez le hachage de la signature en bas et assurez-vous qu’il est en SHA256. Sinon, utilisez un certificat SHA256 pour signer votre application. Le résultat devrait ressembler à ceci :

Signature Hash:
ca9fc964db7e0c2938778f4559946833e7a8cfde0f3eaa07650766d4764e86c4

Le propriétaire de la fonctionnalité utilise ces informations pour générer un fichier Descripteur de fonctionnalité personnalisée signée 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 la signature du certificat dans l’entrée de l’entité autorisée dans le SCCD. Bien qu’il ne soit ni imposé ni validé, veuillez mettre 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 votre fichier source du manifeste du package d’application (Package.appxmanifest) pour inclure un attribut de capacités.

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

Ensuite, copiez le fichier SCCD à la racine du package de l’application appx. Dans l’explorateur de solutions de Visual Studio, faites un clic 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 droit sur le fichier SCCD et en changeant Contenu à True. Pour un projet C#, utilisez la propriété Build Action = Content, et pour un projet JavaScript, utilisez Package Action = Content.

Marquer le SCCD comme contenu.

Enfin, faites un clic droit sur le projet, sélectionnez Store, puis Créer des packages d’application.

Il n’y a pas de support pour les 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 la machine cible est en Mode développeur, vous pouvez essayer les étapes suivantes pour déboguer un échec d’enregistrement d’application :

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

  2. Créez 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 famille du package de votre application.

  5. Mettez à jour votre SCCD avec le nom de famille du package.

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

  7. Reconstruisez 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

Commencez à développer des pilotes Windows

Appairer un pilote avec une application UWP (Universal Windows Platform)

Introduction à la plateforme Windows universelle

Plateforme Windows universelle (UWP)