Déclarations des fonctionnalités d’application

Remarque

Certaines informations portent sur la préversion du produit, qui est susceptible d’être en grande partie modifié avant sa commercialisation. Microsoft n’offre aucune garantie, expresse ou implicite, concernant les informations fournies ici.

À quels types d’applications les fonctionnalités d’application s’appliquent-elles ?

La plupart des scénarios pour les fonctionnalités d’application sont pertinents uniquement pour les applications qui ont une identité de package et qui s’exécutent dans un AppContainer. Toutes les applications UWP répondent à ces critères ; ainsi, les fonctionnalités s’appliquent à elles. Toutefois, vous pouvez également donner une identité de package à une application de bureau et la configurer en tant qu’application AppContainer. Les fonctionnalités s’appliquent également à certaines applications de bureau.

Une application de bureau qui est une application AppContainer peut être identifiée par uap10:TrustLevel="appContainer" dans son manifeste du package de l’application (pour plus d’informations, voir Application (Windows 10)). De même, une application de bureau avec mediumIL (un niveau d’intégrité moyen) a uap10:TrustLevel="mediumIL". Les applications medium IL, également appelées applications de confiance totale, ne s’exécutent pas dans un AppContainer.

Les fonctionnalités InternetClient et enterpriseAuthentication accordent à une application la possibilité d’effectuer certaines opérations que l’utilisateur peut déjà effectuer. Il s’agit donc d’exemples de fonctionnalités qui s’appliquent uniquement aux applications AppContainer. À l’inverse, une application medium IL s’exécute déjà en tant qu’utilisateur ; ainsi, une application comme celle-ci peut déjà effectuer ces opérations sans nécessiter ces fonctionnalités.

Toutefois, il existe certains scénarios dans lesquels une application medium IL doit également déclarer une fonctionnalité. En fait, une application medium IL doit déclarer la fonctionnalité restreinte runFullTrust. Et, pour pouvoir inscrire des serveurs COM hors processus pour la communication interprocessus (IPC), une application empaquetée a besoin de runFullTrust. Cette fonctionnalité est appelée COM empaqueté (pour plus d’informations, consultez le billet de blog Serveur COM et prise en charge de documents OLE pour le Pont du bureau).

Pour plus d’informations sur un autre scénario qui s’applique même aux applications medium IL, consultez Fonctionnalités sensibles à la confidentialité dans cette rubrique.

Vous pouvez déterminer si le manifeste de votre package d’application a besoin de runFullTrust simplement en créant votre package. Makeappx.exe valide le schéma et, si runFullTrust n’est pas déclaré, mais que quelque chose en a besoin, un message d’erreur détaillé s’affiche, y compris le problème, ainsi que les numéros de ligne et de colonne.

Déclaration des fonctionnalités

Si vous souhaitez accéder à certaines API ou ressources (images ou musique) ou des appareils (appareil photo ou microphone), alors vous devez déclarer les fonctionnalités d’application appropriées dans le manifeste du package de votre application Windows.

Vous pouvez déclarer les fonctionnalités générales à l’aide du concepteur de manifeste de Visual Studio, ou vous pouvez les ajouter manuellement. Pour plus d’informations, consultez Comment spécifier des fonctionnalités dans un manifeste de package. Il est important de savoir que lorsque des clients acquièrent votre application dans le Microsoft Store, toutes les fonctionnalités déclarées par l’application leur sont notifiées. Veillez donc à déclarer uniquement les fonctionnalités dont votre application a besoin.

Fonctionnalités sensibles à la confidentialité

Une ressource sensible est une ressource qui peut accéder aux données personnelles de l’utilisateur ou lui coûter de l’argent. Dans cette rubrique, les fonctionnalités qui permettent aux applications d’accéder à une ressource sensible sont signalées par un astérisque (*) dans la colonne Scénario de fonctionnalité.

Les fonctionnalités sensibles à la confidentialité signalent au système d’exploitation (OS) et à l’utilisateur ce que l’application a l’intention de faire. Étant donné qu’il est judicieux d’envoyer ce signal aux utilisateurs de votre application, nous vous recommandons de déclarer des fonctionnalités sensibles à la confidentialité même pour les applications medium IL (où l’identité de l’application est utilisée pour fournir des bascules de confidentialité individuelles). Cela permet à ces applications d’être gérées dans les pages des paramètres de confidentialité (gérées par l’application Paramètres de Windows) dès qu’elles sont installées ; par opposition à ultérieurement, lorsqu’elles accèdent aux ressources sensibles à la confidentialité.

Ces paramètres de confidentialité permettent à l’utilisateur de contrôler dynamiquement l’accès aux ressources sensibles. Il est donc important que votre application ne présume pas de la disponibilité d’une ressource sensible. Pour plus d’informations sur l’accès aux ressources sensibles, consultez Sécurité.

Différents types de fonctionnalités

Il existe plusieurs types de fonctionnalités.

Fonctionnalités à usage général

Les fonctionnalités à usage général sont spécifiées à l'aide des éléments Capability dans le manifeste du package de votre application. Ces fonctionnalités s'appliquent aux scénarios d'application les plus courants.

Notes

Toutes les éléments Capability doivent précéder les éléments CustomCapability et DeviceCapability sous le nœud Capabilities du manifeste du package.

Scénario de fonctionnalité Utilisation de la fonctionnalité
Musique* La fonctionnalité musicLibrary fournit l’accès programmatique à l’audiothèque de l’utilisateur, ce qui permet à l’application d’énumérer et d’accéder à tous les fichiers de la bibliothèque sans intervention de l’utilisateur. Cette fonctionnalité est généralement utilisée dans les applications de jukebox qui utilisent la médiathèque entière.

Le sélecteur de fichiers fournit un mécanisme d’interface utilisateur robuste qui permet aux utilisateurs d’ouvrir les fichiers à utiliser avec une application. Déclarez la fonctionnalité musicLibrary uniquement quand votre application se trouve dans une situation nécessitant un accès par programmation qui ne peut pas être réalisé à l’aide du sélecteur de fichiers.

La fonctionnalité musicLibrary doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="musicLibrary"/></Capabilities>
Images* La fonctionnalité picturesLibrary fournit l’accès par programme à la bibliothèque d’images de l’utilisateur, ce qui permet à l’application d’énumérer et d’accéder à tous les fichiers de la bibliothèque sans intervention de l’utilisateur. Cette fonctionnalité est généralement utilisée dans les applications de photos qui utilisent la bibliothèque d’images entière.

Le sélecteur de fichiers fournit un mécanisme d’interface utilisateur robuste qui permet aux utilisateurs d’ouvrir les fichiers à utiliser avec une application. Déclarez la fonctionnalité picturesLibrary uniquement quand votre application se trouve dans une situation nécessitant un accès par programmation qui ne peut pas être réalisé à l’aide du sélecteur de fichiers.

La fonctionnalité picturesLibrary doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="picturesLibrary"/></Capabilities>
Vidéos* La fonctionnalité videosLibrary fournit un accès par programmation aux vidéos de l’utilisateur, permettant ainsi à l’application d’énumérer tous les fichiers dans la bibliothèque et d’y accéder sans interaction de l’utilisateur. Cette fonctionnalité est généralement utilisée dans les applications de lecture vidéo qui utilisent la vidéothèque entière.

Le sélecteur de fichiers fournit un mécanisme d’interface utilisateur robuste qui permet aux utilisateurs d’ouvrir les fichiers à utiliser avec une application. Déclarez la fonctionnalité videosLibrary uniquement quand votre application se trouve dans une situation nécessitant un accès par programmation qui ne peut pas être réalisé à l’aide du sélecteur de fichiers.

La fonctionnalité videosLibrary doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="videosLibrary"/></Capabilities>
Stockage amovible La fonctionnalité removableStorage offre un accès par programmation aux fichiers d’un dispositif de stockage amovible, tel qu’une clé USB ou un disque dur externe, filtrés selon les associations de types de fichier déclarées dans le manifeste du package. Par exemple, si une application de type lecteur de documents a déclaré une association de types de fichier .doc, elle peut ouvrir les fichiers .doc sur le dispositif de stockage amovible, mais pas les autres types de fichier. Prenez des précautions lorsque vous déclarez cette fonctionnalité, car les utilisateurs peuvent inclure diverses informations sur leur dispositif de stockage amovible et s’attendent à ce que votre application fournisse une raison valable pour l’accès par programmation au stockage amovible pour tous les fichiers du type déclaré.

Les utilisateurs s’attendent à ce que votre application traite toutes les associations de fichiers que vous déclarez. Par conséquent, ne déclarez pas des associations de fichiers que votre application ne peut pas gérer de manière responsable. Le sélecteur de fichiers fournit un mécanisme d’interface utilisateur robuste qui permet aux utilisateurs d’ouvrir les fichiers à utiliser avec une application.

Déclarez la fonctionnalité removableStorage uniquement quand votre application se trouve dans une situation nécessitant un accès par programmation qui ne peut pas être réalisé à l’aide du sélecteur de fichiers.

La fonctionnalité removableStorage doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="removableStorage"/></Capabilities>
Internet et réseaux publics* Deux fonctionnalités fournissent différents niveaux d’accès aux réseaux Internet et public.

La fonctionnalité internetClient indique que les applications peuvent recevoir des données entrantes en provenance d’Internet. Ne peut pas agir en tant que serveur. Pas d’accès au réseau local.
La fonctionnalité internetClientServer indique que les applications peuvent recevoir des données entrantes en provenance d’Internet. Peut agir en tant que serveur. Pas d’accès au réseau local.

La plupart des applications qui disposent d’un composant service web utilisent internetClient. Les applications qui autorisent les scénarios pair à pair (P2P) dans lesquels l’application doit écouter les connexions réseau entrantes doivent utiliser internetClientServer. La fonctionnalité internetClientServer inclut l’accès fourni par la fonctionnalité internetClient, de sorte que vous n’avez pas besoin de préciser internetClient lorsque vous spécifiez internetClientServer.
Réseaux domestiques et professionnels* La fonctionnalité privateNetworkClientServer offre un accès entrant et sortant aux réseaux domestiques et professionnels à travers le pare-feu. Cette fonctionnalité est généralement utilisée pour les jeux qui communiquent sur un réseau local (LAN) et pour les applications qui partagent des données sur divers appareils locaux. Si votre application spécifie musicLibrary, picturesLibrary ou videosLibrary, vous n’avez pas besoin d’utiliser cette fonctionnalité pour accéder à la bibliothèque correspondante dans un groupe résidentiel. Sur Windows, cette fonctionnalité ne permet pas d’accéder à Internet.
Rendez-vous La fonctionnalité appointments permet d’accéder au magasin de rendez-vous de l’utilisateur. Cette fonctionnalité permet d’accéder en lecture aux rendez-vous obtenus à partir des comptes réseau synchronisés et à d’autres applications qui écrivent dans le magasin de rendez-vous. Grâce à cette fonctionnalité, votre application peut créer des calendriers et y écrire des rendez-vous.

La fonctionnalité appointments doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="appointments"/></Capabilities>
Contacts* La fonctionnalité contacts permet d’accéder à la vue de synthèse des contacts de différents magasins de contacts. Cette fonctionnalité donne à l’application un accès limité (selon les règles d’autorisation du réseau) aux contacts qui ont été synchronisés à partir de divers réseaux et au magasin de contacts local.

La fonctionnalité contacts doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="contacts"/></Capabilities>
Génération de code La fonctionnalité codeGeneration permet aux applications d’accéder aux fonctions ci-après, qui fournissent des fonctionnalités JIT aux applications.

VirtualProtectFromApp
CreateFileMappingFromApp
OpenFileMappingFromApp
MapViewOfFileFromApp
AllJoyn La fonctionnalité allJoyn permet aux applications et appareils compatibles AllJoyn d’un réseau de se détecter mutuellement et d’interagir.

Toutes les applications qui accèdent aux API dans l’espace de noms Windows.Devices.AllJoyn doivent utiliser cette fonctionnalité.
Appels téléphoniques La fonctionnalité phoneCall permet aux applications d’accéder à toutes les lignes téléphoniques sur l’appareil et d’exécuter les fonctions suivantes :
  • Effectuer un appel sur la ligne téléphonique et afficher le numéroteur système sans solliciter l’utilisateur.
  • Accéder aux métadonnées associées à la ligne.
  • Accéder aux déclencheurs associés à la ligne.
  • Autoriser l’application de filtre antispam sélectionnée par l’utilisateur à définir et à vérifier la liste rouge et les informations sur l’origine des appels.
La fonctionnalité phoneCall doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="phoneCall"/></Capabilities>

La fonctionnalité phoneCallHistoryPublic permet aux applications de lire les informations relatives à l'historique des appels de mobile et des appels VoIP de l'appareil. Cette fonctionnalité permet également aux applications d'écrire des entrées dans l'historique des appels VoIP. Elle est requise pour l’accès à tous les membres de la classe PhoneCallHistoryStore.
Dossier des appels enregistrés* La fonctionnalité d’appareil recordedCallsFolder permet aux applications d’accéder au dossier d’appels enregistrés.

La fonctionnalité recordedCallsFolder doit inclure l’espace de noms mobile lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><mobile:Capability Name="recordedCallsFolder"/></Capabilities>
Informations relatives au compte d'utilisateur* La fonctionnalité userAccountInformation permet aux applications d’accéder au nom et à l’image de l’utilisateur.

Cette fonctionnalité est nécessaire pour accéder à certaines API dans l’espace de noms Windows.System.UserProfile.

La fonctionnalité userAccountInformation doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="userAccountInformation"/></Capabilities>
Appel VoIP La fonctionnalité voipCall permet aux applications d'accéder aux API d'appel VoIP de l'espace de noms Windows.ApplicationModel.Calls.

La fonctionnalité voipCall doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="voipCall"/></Capabilities>
Objets 3D La fonctionnalité objects3d dote les applications d’un accès par programmation aux fichiers objets 3D. Cette fonctionnalité est généralement utilisée dans les applications et les jeux 3D qui ont besoin d’accéder à l’intégralité de la bibliothèque d’objets 3D.

Cette fonctionnalité est nécessaire pour accéder au dossier contenant les objets 3D à l’aide des API de l’espace de noms Windows.Storage.

La fonctionnalité objects3D doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="objects3D"/></Capabilities>
Accès aux messages de conversation* La fonctionnalité de chat permet aux applications de lire et de supprimer les SMS et MMS. Elle permet également aux applications de stocker les messages dans le magasin de données système.

Cette fonctionnalité est nécessaire pour accéder aux messages à l’aide des API de l’espace de noms Windows.ApplicationModel.Chat.

La fonctionnalité de chat doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="chat"/></Capabilities>
Lecture des messages bloqués* La fonctionnalité blockedChatMessages permet aux applications de lire les messages SMS et MMS bloqués par l’application Filtre anti-courrier indésirable.

Cette fonctionnalité est nécessaire pour accéder aux messages bloqués à l’aide des API de l’espace de noms Windows.ApplicationModel.Chat.

La fonctionnalité blockedChatMessages doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="blockedChatMessages"/></Capabilities>
Appareils personnalisés La fonctionnalité lowLevelDevices permet aux applications d'accéder à des appareils personnalisés lorsqu'un certain nombre d'exigences supplémentaires sont remplies. Cette fonctionnalité ne doit pas être confondue avec la fonctionnalité d'appareil lowLevel qui permet d'accéder aux dispositifs GPIO, I2C, SPI et PWM.

Si vous développez un pilote personnalisé qui expose une interface d'appareil et que vous souhaitez ouvrir un handle vers cet appareil pour envoyer des commandes IOCTL, vous devez :
  • Activer la fonctionnalité lowLevelDevices dans le manifeste de votre application : <Capabilities><iot:Capability Name="lowLevelDevices"/></Capabilities>
  • Activer le mode incorporé
  • Marquez l’interface de l’appareil comme restreinte dans votre INF ou en appelant WdfDeviceAssignInterfaceProperty() dans votre pilote.
Vous pouvez ensuite utiliser Windows.Devices.Custom.CustomDevice pour ouvrir un handle vers votre appareil. Pour plus d'informations, consultez Applications d'appareil UWP pour les appareils internes.
Administration système IoT La fonctionnalité systemManagement permet aux applications de disposer des privilèges d’administration système de base tels que l’arrêt ou le redémarrage, les paramètres régionaux et le fuseau horaire.

Cette fonctionnalité est requise pour accéder à certaines API de l’espace de noms Windows.System.

La fonctionnalité systemManagement doit inclure l’espace de noms iot lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><iot:Capability Name="systemManagement"/></Capabilities>
Lecture multimédia en arrière-plan La fonctionnalité backgroundMediaPlayback change le comportement des API propres au contenu multimédia comme les classes MediaPlayer et AudioGraph pour permettre la lecture de contenu multimédia pendant que votre application est en arrière-plan. Tous les flux audio actifs ne sont plus désactivés, mais ils continuent à être audibles quand une application passe en arrière-plan. De plus, la durée de vie de l’application est automatiquement étendue pendant que la lecture est en cours.
Système distant La fonctionnalité remoteSystem permet aux applications d’accéder à une liste d’appareils associés au compte Microsoft de l’utilisateur. L’accès à la liste d’appareils est nécessaire pour effectuer des opérations qui sont persistantes d’un appareil à l’autre. Cette fonctionnalité est nécessaire pour accéder de tous les membres des éléments suivants.
Perception spatiale La fonctionnalité spatialPerception fournit un accès par programmation aux données de cartographie spatiale, conférant aux applications de réalité mixte des informations sur les surfaces des régions spécifiées situées à proximité de l'utilisateur. Ne déclarez la fonctionnalité spatialPerception que lorsque votre application utilise explicitement ces maillages de surface, car cette fonctionnalité n’est pas requise par les applications de réalité mixte pour effectuer un rendu holographique basé sur la posture de la tête de l’utilisateur.
Contrôle multimédia global La fonctionnalité globalMediaControl permet aux applications d'accéder aux sessions de lecture du système qui ont été intégrées à SystemMediaTransportControls pour fournir des informations de lecture et permettre un contrôle à distance. Cette fonctionnalité est nécessaire pour utiliser certaines API de l'espace de noms Windows.Media.Control. Elle est définie dans l'élément uap7:Capability.
Capture graphique La fonctionnalité graphicsCapture permet aux applications de prendre des captures d’écran de fenêtres ou d’affichages quand elles y sont autorisées par l’utilisateur. Cette fonctionnalité est nécessaire pour utiliser l’objet Windows.Graphics.Capture.GraphicsCapturePicker. Elle est définie dans l’élément uap6:Capability.
Capture graphique sans bordure La fonctionnalité graphicsCaptureWithoutBorder permet aux applications de prendre des captures d’écran sans montrer une bordure de capture d’écran autour de la fenêtre ou de l’affichage. Cette fonctionnalité est nécessaire pour utiliser la propriété Windows.Graphics.Capture.GraphicsCaptureSession.IsBorderRequired. Elle est définie dans l’élément uap11:Capability.
Capture graphique par programmation La fonctionnalité graphicsCaptureProgrammatic permet aux applications de prendre des captures d’écran de différentes fenêtres ou différents affichages de ces applications elles-mêmes. Cette fonctionnalité est nécessaire pour créer un objet Windows.Graphics.Capture.GraphicsCaptureItem à partir d’un WindowId ou d’un DisplayId. Elle est définie dans l’élément uap11:Capability.
Tâches de données utilisateur La fonctionnalité d’appareil userDataTasks donne accès aux API de l’espace de noms Windows.ApplicationModel.UserDataTasks, qui permet d’accéder aux éléments de tâche stockés dans Windows par les connexions EAS (Exchange ActiveSync) et d’autres applications de fournisseur.
Écouteur de notification utilisateur La fonctionnalité d’appareil userNotificationListener donne accès aux API de l’espace de noms Windows.UI.Notifications.Management, qui permet de gérer les notifications d’utilisateur.

Fonctionnalités de l’appareil

Les fonctionnalités d’appareil permettent à votre application d’accéder à des appareils et à des dispositifs internes. Les fonctionnalités d'appareil sont spécifiées à l'aide de l'élément DeviceCapability dans le manifeste du package de votre application. Cet élément peut exiger des éléments enfants supplémentaires et certaines fonctionnalités d’appareil doivent être ajoutées manuellement au manifeste du package. Pour plus d’informations, voir Comment spécifier des fonctionnalités de périphérique dans un manifeste de package et Référence de schéma DeviceCapability.

Notes

Vous pouvez avoir plusieurs éléments DeviceCapability sous l'élément Capabilities du manifeste du package. Tous les éléments DeviceCapability doivent suivre les éléments Capability et CustomCapability.

Scénario de fonctionnalité Utilisation de la fonctionnalité
Emplacement* La fonctionnalité location donne accès aux fonctionnalités de géolocalisation obtenues à partir d’un matériel dédié, tel qu’un capteur GPS dans le PC, ou dérivées des informations réseau disponibles. Les applications doivent gérer le cas où l’utilisateur a désactivé les services de localisation à partir de l’icône Paramètres.
Microphone La fonctionnalité microphone donne accès au flux audio du microphone, ce qui permet à l’application d’effectuer un enregistrement audio à partir de microphones connectés. Les applications doivent gérer le cas où l’utilisateur a désactivé le microphone à partir de l’icône Paramètres.
Proximité La fonctionnalité proximity permet à plusieurs appareils très proches les uns des autres de communiquer entre eux. Cette fonctionnalité est généralement utilisée dans des jeux multijoueurs simples et dans des applications qui échangent des informations. Les périphériques tentent d’utiliser la technologie de communication qui offre la meilleure connexion possible, notamment Bluetooth, le WiFi et Internet. Cette fonctionnalité est utilisée uniquement pour initier la communication entre les appareils.
Webcam La fonctionnalité webcam fournit un accès au flux vidéo d’une caméra intégrée ou d’une webcam externe, ce qui permet à l’application de capturer des photos et des vidéos. Sur Windows, les applications doivent gérer le cas où l’utilisateur a désactivé la caméra à partir de l’icône Paramètres.
La fonctionnalité webcam ne donne accès qu’au flux vidéo. Pour autoriser l’accès au flux audio, la fonctionnalité microphone doit être ajoutée.
USB La fonctionnalité d’appareil usb permet d’accéder aux API dans Mise à jour du package du manifeste de l’application pour un périphérique USB.
Périphérique d'interface utilisateur (HID) La fonctionnalité d’appareil humaninterfacedevice prend en charge l’accès aux API dans Comment spécifier des fonctionnalités de périphérique pour HID.
Point de vente (PDV) La fonctionnalité d’appareil pointOfService permet d’accéder aux API de l’espace de noms Windows.Devices.PointOfService. Cet espace de noms permet à votre application d’accéder aux scanneurs de codes-barres et aux lecteurs de bande magnétique de points de vente (PDV). L'espace de noms offre une interface indépendante du fournisseur qui permet d'accéder aux appareils PDV de différents fabricants à partir d'une application UWP.
Bluetooth La fonctionnalité d’appareil bluetooth permet aux applications de communiquer avec des appareils Bluetooth déjà couplés par le biais des protocoles GATT (Generic Attribute) ou RFCOMM (Classic Basic Rate).
Cette fonctionnalité est requise pour l’utilisation de certaines API de l’espace de noms Windows.Devices.Bluetooth.
Réseau Wi-Fi IMPORTANT. La fonctionnalité d’appareil wiFiControl sera affectée par les modifications à venir apportées au comportement du système d’exploitation, prévue à l’automne 2024. Pour plus d’informations, consultez Modifications apportées au comportement de l’API pour l’accès Wi-Fi et l’emplacement.

La fonctionnalité d’appareil wiFiControl permet aux applications de rechercher les réseaux Wi-Fi disponibles et de s’y connecter.
Cette fonctionnalité est requise pour l’utilisation de certaines API de l’espace de noms Windows.Devices.WiFi.
État radio La fonctionnalité d’appareil radios permet aux applications d’activer et de désactiver les radios Wi-Fi et Bluetooth.
Cette fonctionnalité est requise pour l’utilisation des API de l’espace de noms Windows.Devices.Radios.
Disque optique La fonctionnalité d’appareil optical permet aux applications d’accéder aux fonctions des lecteurs de disque optiques (CD, DVD et Blu-ray).
Cette fonctionnalité est requise pour l’utilisation de certaines API de l’espace de noms Windows.Devices.Custom.
Mouvements La fonctionnalité d’appareil activity permet aux applications de détecter le mouvement actuel de l’appareil.
Cette fonctionnalité est nécessaire pour l’utilisation de certaines API de l’espace de noms Windows.Devices.Sensors.
Détection de présence La fonctionnalité d’appareil humanPresence permet aux applications d’accéder aux capteurs de présence sur l’appareil qui peuvent fournir des informations sur la présence et l’engagement de l’utilisateur.
Cette fonctionnalité est nécessaire pour l’utilisation de certaines API de l’espace de noms Windows.Devices.Sensors.
Communication en série La fonctionnalité d'appareil serialcommunication donne accès aux API de l'espace de noms Windows.Devices.SerialCommunication, qui permet à une application Windows de communiquer avec un périphérique qui expose un port série ou une abstraction de port série. Cette fonctionnalité est requise pour l'utilisation des API de l'espace de noms Windows.Devices.SerialCommnication.
Dispositif de suivi oculaire La fonctionnalité gazeInput permet aux applications de détecter ce que l’utilisateur regarde dans les limites de l’application quand un appareil de suivi oculaire compatible est connecté. Elle s’applique également aux appareils Mixed Reality qui prennent en charge le suivi du regard. Elle est nécessaire pour utiliser certaines API de l'espace de noms Windows.Devices.Input.Preview. Pour les appareils Mixed Reality, cette fonctionnalité est requise pour les API dans Windows.Perception.People.EyesPose.
GPIO, I2C, SPI et PWM La fonctionnalité d'appareil lowLevel permet d'accéder aux dispositifs GPIO, I2C, SPI et PWM. Elle est nécessaire pour utiliser les API des espaces de noms suivants : Windows.Devices.Gpio, Windows.Devices.I2c, Windows.Devices.Spi,Windows.Devices.Pwm.

<Capabilities><DeviceCapability Name="lowLevel"/></Capabilities>

Fonctionnalités restreintes

Si votre application déclare des fonctionnalités restreintes, vous devez fournir des informations pendant le processus de soumission de l’application afin d’être autorisé à la publier sur le Microsoft Store. Vous devez fournir ces informations sur la page Options de soumission de votre soumission, en expliquant comment votre application utilise chacune des fonctionnalités restreintes qu'elle déclare.

Important

Les fonctionnalités restreintes s'adressent à des scénarios très spécifiques. L’utilisation de ces fonctionnalités est extrêmement limitée et sujette à un examen et une stratégie d’accueil Windows Store supplémentaires. Notez que vous pouvez charger une version test des applications qui déclarent des fonctionnalités restreintes sans avoir à recevoir d'approbation. L'approbation n'est requise que lors de la soumission de ces applications au Store.

Veillez à ne pas déclarer ces fonctionnalités restreintes, sauf si votre application en a vraiment besoin. Dans certains cas, de telles fonctionnalités sont nécessaires et appropriées, telles que des applications bancaires avec une authentification à deux facteurs, dans lesquelles les utilisateurs fournissent une carte à puce dotée d’un certificat numérique qui confirme leur identité. D’autres applications peuvent être conçues principalement pour des clients professionnels et peuvent avoir besoin d’accéder à des ressources d’entreprise auxquelles il n’est pas possible d’accéder sans les informations d’identification de domaine de l’utilisateur.

Pour déclarer une fonctionnalité restreinte, modifiez le fichier source du manifeste du package de l'application (Package.appxmanifest). Lors de la déclaration de votre fonctionnalité restreinte, ajoutez la déclaration d'espace de noms XML xmlns:rescap et utilisez le préfixe rescap. L'exemple suivant illustre la déclaration de la fonctionnalité appCaptureSettings.

<?xml version="1.0" encoding="utf-8"?>
<Package
    ...
    xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
    IgnorableNamespaces="... rescap">
...
<Capabilities>
    <rescap:Capability Name="appCaptureSettings"/>
</Capabilities>
</Package>

Notes

Tous les éléments de la fonctionnalité restreinte doivent précéder les éléments CustomCapability et DeviceCapability sous le nœud Capabilities du manifeste du package.

Processus d'approbation pour une fonctionnalité restreinte

Auparavant, pour obtenir l'autorisation d'utiliser une fonctionnalité, vous deviez contacter le support. Nous vous permettons désormais de fournir ces informations dans l'Espace partenaires, dans le cadre du processus de soumission.

Lorsque vous chargez des packages dans le cadre de votre soumission, nous déterminons si des fonctionnalités restreintes sont déclarées. Si tel est le cas, vous devez fournir des informations sur la façon dont votre produit utilise chaque fonctionnalité sur la page Options de soumission. Veillez à fournir autant de détails que possible pour nous aider à comprendre pourquoi votre produit doit déclarer la fonctionnalité. Notez que cette opération peut avoir pour effet de rallonger le processus de certification de votre soumission.

Lors du processus de certification, nos testeurs examinent les informations que vous avez fournies afin de déterminer si votre soumission est approuvée pour utiliser la fonctionnalité. Notez que cette opération peut avoir pour effet de rallonger le processus de certification de votre soumission. Si nous approuvons votre utilisation de la fonctionnalité, votre application poursuit le processus de certification. Il n'est généralement pas nécessaire de répéter le processus d'approbation des fonctionnalités lorsque vous procédez à des mises à jour de votre application (sauf si vous déclarez des fonctionnalités supplémentaires).

Si nous n'approuvons pas votre utilisation de la fonctionnalité, votre soumission n'obtient pas de certification et nous fournissons des commentaires dans le rapport de certification. Vous avez ensuite la possibilité de créer une soumission et de charger des packages qui ne déclarent pas la fonctionnalité ou, le cas échéant, de résoudre tout problème lié à votre utilisation de la fonctionnalité et de demander l’approbation de celle-ci dans le cadre d’une nouvelle soumission.

Notes

Si votre soumission utilise un bac à sable de développement dans l'Espace partenaires (par exemple pour un jeu intégré à Xbox Live), vous devez préalablement demander une approbation au lieu de fournir des informations sur la page Options de soumission. Si vous publiez un jeu sur Xbox via ID@Xbox ou en tant que partenaire géré, vous pouvez demander l’approbation au préalable. Pour ce faire, contactez l’équipe de votre compte Microsoft.

Elle aura besoin d'une brève description de la manière dont vous utilisez la fonctionnalité et de la raison pour laquelle elle est nécessaire pour votre produit. Si vous ne fournissez pas toutes les informations nécessaires, votre demande est refusée. Il vous sera peut-être également demandé de fournir des informations supplémentaires. Notez qu'en général, ce processus prend au moins 5 jours ouvrés. Envoyez donc votre demande bien à l'avance.

Vous pouvez également utiliser cette méthode de demande d'approbation (plutôt que de fournir ces informations lors de votre soumission), que vous utilisiez ou non un bac à sable de développement, si vous préférez avoir confirmation que vous êtes autorisé à utiliser une fonctionnalité restreinte avant d'entamer votre soumission.

Liste des fonctionnalités restreintes

Le tableau suivant répertorie les fonctionnalités restreintes. Vous pouvez demander l'approbation de ces fonctionnalités dans les applications que vous soumettez au Store en suivant la procédure décrite ci-dessus.

Important

Certaines de ces fonctionnalités restreintes ne sont pratiquement jamais approuvées pour les applications soumises au Store, sauf dans des circonstances très spécifiques et limitées. Ces fonctionnalités sont mentionnées dans le tableau ci-dessous. Nous vous recommandons de ne pas déclarer ces fonctionnalités dans votre application si vous prévoyez de la distribuer via le Store.

Scénario de fonctionnalité Utilisation de la fonctionnalité
Entreprise Les informations d’identification de domaine Windows permettent à un utilisateur de se connecter à des ressources distantes à l’aide de ses informations d’identification, comme si l’utilisateur avait fourni son propre nom d’utilisateur et mot de passe. La fonctionnalité enterpriseAuthentication est généralement utilisée dans les applications métier qui se connectent aux serveurs d'une entreprise.

Vous n’avez pas besoin de cette capacité pour une communication générique sur Internet.

La fonctionnalité enterpriseAuthentication est conçue pour prendre en charge les applications métier courantes. Ne la déclarez pas dans des applications qui n’ont pas besoin d’accéder à des ressources d’entreprise. Le sélecteur de fichiers fournit un mécanisme d’interface utilisateur robuste qui permet aux utilisateurs d’ouvrir les fichiers sur un partage réseau à utiliser avec une application. Ne déclarez la fonctionnalité enterpriseAuthentication que si votre application nécessite un accès par programmation qui ne peut pas être réalisé à l'aide du sélecteur de fichiers.

La fonctionnalité enterpriseAuthentication doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="enterpriseAuthentication"/></Capabilities>

Cette fonctionnalité est nécessaire pour appeler la fonction GetUserNameEx.

La fonctionnalité enterpriseDataPolicy permet de traiter les données d'entreprise séparément et en toute sécurité lorsque l'application est gérée à l'aide de la stratégie Protection des informations Windows (par exemple : systèmes de gestion des périphériques mobiles et de gestion des applications mobiles). Déclarez cette fonctionnalité restreinte comme indiqué ci-dessous.

<Capabilities><rescap:Capability Name="enterpriseDataPolicy"/></Capabilities>

Elle est requise pour l’utilisation de tous les membres des classes suivantes.
Certificats utilisateur partagés La fonctionnalité sharedUserCertificates permet à une application d'ajouter des certificats de logiciel et de matériel (par exemple, des certificats stockés sur une carte à puce) dans le magasin de certificats utilisateur partagés et d'y accéder. Cette fonctionnalité est généralement utilisée pour des applications financières ou d’entreprise qui ont besoin d’une carte à puce pour l’authentification.

La fonctionnalité sharedUserCertificates doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="sharedUserCertificates"/></Capabilities>
Documents* La fonctionnalité documentsLibrary fournit un accès par programmation à la bibliothèque de documents de l’utilisateur, filtrée en fonction des associations de types de fichiers déclarées dans le manifeste du package. Par exemple, si une application de traitement de texte a déclaré une association de type de fichier .doc, elle peut ouvrir les fichiers .doc dans la bibliothèque de documents de l’utilisateur.

La fonctionnalité documentsLibrary est nécessaire uniquement si votre application accède par programmation à la bibliothèque Documents sans l’intervention d’un utilisateur. Votre application n’a pas besoin de la fonctionnalité documentsLibrary pour accéder à la bibliothèque Documents si l’utilisateur la choisit avec une API de sélection (« picker »). En règle générale, les applications doivent permettre à l’utilisateur de choisir l’emplacement de ses fichiers à l’aide d’une des API de sélection suivantes : L'utilisation de ces API permet à l'utilisateur de choisir l'emplacement qui lui convient le mieux, comme un compte synchronisé avec le cloud (par exemple, OneDrive). Une fois que l'utilisateur a sélectionné un fichier ou un dossier à l'aide de ces API, votre application peut obtenir un accès permanent à cet emplacement via l'API FutureAccessList. À l'avenir, cette API permettra à votre application d'accéder aux fichiers ou aux dossiers sans demander à l'utilisateur de les sélectionner à nouveau.

Dans les cas où les flux de travail existants supposent que les fichiers se trouvent dans la bibliothèque de documents (par exemple, interopérabilité avec une application de bureau existante) ou lorsque vous ne souhaitez pas que l’utilisateur ait à choisir l’emplacement, vous pouvez déclarer la fonctionnalité documentsLibrary pour votre application. Si vous utilisez la fonctionnalité documentsLibrary pour votre application, nous vous recommandons également de permettre à l'utilisateur de sélectionner manuellement des emplacements.

La fonctionnalité documentsLibrary doit inclure l’espace de noms uap lorsque vous la déclarez dans le manifeste du package de votre application, comme illustré ci-dessous.

<Capabilities><uap:Capability Name="documentsLibrary"/></Capabilities>
Paramètres de jeux DVR La fonctionnalité restreinte appCaptureSettings permet aux applications de contrôler les paramètres utilisateur de Jeux DVR.

Cette fonctionnalité est nécessaire pour utiliser certaines API de l’espace de noms Windows.Media.Capture.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Cellulaire La fonctionnalité restreinte cellularDeviceControl permet aux applications de contrôler l’appareil cellulaire.

La fonctionnalité cellularDeviceIdentity permet aux applications d’accéder aux données d’identification cellulaires.

La fonctionnalité cellularMessaging permet aux applications d’utiliser les SMS et le RCS.

Ces fonctionnalités sont nécessaires pour l’utilisation de certaines API de l’espace de noms Windows.Devices.Sms.
Déverrouillage d'appareil La fonctionnalité restreinte deviceUnlock permet aux applications de déverrouiller un appareil pour les scénarios de chargement indépendant de développeur et d’entreprise.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Vignettes double SIM La fonctionnalité restreinte dualSimTiles permet aux applications de créer une entrée supplémentaire dans la liste des applications sur les appareils dotés de plusieurs cartes SIM.

Cette fonctionnalité est nécessaire pour utiliser certaines API de l’espace de noms Windows.UI.StartScreen.
Stockage partagé d'entreprise La fonctionnalité restreinte enterpriseDeviceLockdown permet aux applications d’utiliser l’API de verrouillage d’appareil et d’accéder aux dossiers de stockage partagé de l’entreprise.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Injection d'entrée système La fonctionnalité restreinte inputInjectionBrokered permet aux applications d'injecter différentes formes d'entrée (HID, interface tactile, stylet, clavier, souris, etc.) par programmation dans le système. Cette fonctionnalité est généralement utilisée pour les applications de collaboration qui peuvent prendre le contrôle du système.

Pour un PC, seuls les processus résidant dans le même conteneur d'application reçoivent les entrées injectées par une application disposant de cette fonctionnalité.

<Capabilities><rescap:Capability Name="inputInjectionBrokered" /></Capabilities>
Observation d'entrée* La fonctionnalité restreinte inputObservation permet aux applications d’observer différentes formes d’entrée brute (HID, interface tactile, stylet, clavier, souris, etc.) reçues par le système, quelle que soit leur destination finale.

Cette fonctionnalité et les API qui s'y rapportent ne peuvent être utilisées que par certains partenaires Microsoft.
Suppression d'entrée La fonctionnalité restreinte inputSuppression permet aux applications de supprimer différentes formes d’entrée brute (HID, interface tactile, stylet, clavier, souris, etc.) reçues par le système.

Cette fonctionnalité et les API qui s'y rapportent ne peuvent être utilisées que par certains partenaires Microsoft.
Application VPN La fonctionnalité restreinte networkingVpnProvider permet aux applications de disposer d’un accès complet aux fonctionnalités de réseau privé virtuel (VPN, Virtual Private Network), y compris la possibilité de gérer les connexions et de fournir les fonctionnalités de plug-in VPN.

Cette fonctionnalité est nécessaire pour utiliser certaines API de l’espace de noms Windows.Networking.Vpn.
Gestion d'autres applications La fonctionnalité restreinte packageManagement permet aux applications de gérer directement d’autres applications.

La fonctionnalité d’appareil packageQuery permet aux applications de collecter des informations sur les autres applications.

Ces fonctionnalités sont nécessaires pour accéder à certaines méthodes et propriétés de la classe PackageManager.
Projection d'écran La fonctionnalité restreinte screenDuplication permet aux applications de projeter l’écran sur un autre appareil.

Cette fonctionnalité est nécessaire pour utiliser les API de l’espace de noms DirectX.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Nom d'utilisateur principal La fonctionnalité restreinte userPrincipalName permet aux applications d'accéder au nom d'utilisateur principal (UPN) de l'utilisateur actuel.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Portefeuille La fonctionnalité restreinte walletSystem permet aux applications de disposer d’un accès complet aux cartes de renseignements médicaux (au format portefeuille) stockées.

Cette fonctionnalité est nécessaire pour utiliser les API de l’espace de noms Windows.ApplicationModel.Wallet.System.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Historique des emplacements La fonctionnalité restreinte locationHistory permet aux applications d’accéder à l’historique des emplacements de l’appareil.

Cette fonctionnalité est nécessaire pour utiliser les API de l’espace de noms Windows.Devices.Geolocation.
Confirmation de fermeture d'application La fonctionnalité restreinte confirmAppClose permet aux applications de se fermer par elles-mêmes, de fermer leurs propres fenêtres et de retarder leur fermeture.

Les applications peuvent demander cette fonctionnalité dans Windows 10 version 1703 (build 10.0.15063) et versions ultérieures. Dans les versions antérieures de Windows 10, cette fonctionnalité est privée et entraîne l'échec de l'installation de l'application, avec un message d'erreur indiquant que la fonctionnalité demandée ne peut pas être autorisée pour cette application.
Historique des appels* La fonctionnalité restreinte phoneCallHistory permet aux applications de lire l’historique des appels et d’en supprimer des entrées.

Cette fonctionnalité est nécessaire pour utiliser les API de l’espace de noms Windows.ApplicationModel.Chat.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Accès de niveau système aux rendez-vous La fonctionnalité restreinte appointmentsSystem permet aux applications de lire et de modifier tous les rendez-vous du calendrier de l’utilisateur.

Cette fonctionnalité est nécessaire pour utiliser les API de l’espace de noms Windows.ApplicationModel.Appointment.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Accès de niveau système aux messages de conversation* La fonctionnalité restreinte chatSystem permet aux applications de lire et d’écrire tous les messages SMS et MMS.
Cette fonctionnalité est nécessaire pour utiliser les API de l’espace de noms Windows.ApplicationModel.Chat.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Accès de niveau système aux contacts La fonctionnalité restreinte contactsSystem permet aux applications de lire les informations de contact marquées comme confidentielles ou sensibles et de modifier les informations de contact existantes.

Cette fonctionnalité est nécessaire pour utiliser les API de l’espace de noms Windows.ApplicationModel.Chat.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Accès aux e-mails La fonctionnalité restreinte email permet aux applications de lire, de trier et d’envoyer les e-mails de l’utilisateur.

Cette fonctionnalité est nécessaire pour utiliser les API de l’espace de noms Windows.ApplicationModel.Email.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Accès de niveau système aux e-mails La fonctionnalité restreinte emailSystem permet aux applications de lire, de trier et d’envoyer les e-mails confidentiels ou sensibles de l’utilisateur.

Cette fonctionnalité est nécessaire pour utiliser les API de l’espace de noms Windows.ApplicationModel.Email.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Accès de niveau système à l'historique des appels La fonctionnalité restreinte phoneCallHistorySystem permet aux applications de modifier complètement l’historique des appels en changeant des entrées existantes et en en créant.

Cette fonctionnalité est nécessaire pour utiliser les API de l’espace de noms Windows.ApplicationModel.Calls.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Envoi de SMS* La fonctionnalité restreinte smsSend permet aux applications d’envoyer des SMS et des MMS.

Cette fonctionnalité est nécessaire pour utiliser les API de l’espace de noms Windows.ApplicationModel.Chat.
Accès de niveau système à toutes les données utilisateur La fonctionnalité restreinte userDataSystem permet aux applications d’accéder à la banque de données système des données utilisateur.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Fonctionnalités d'aperçu du Store La fonctionnalité restreinte previewStore permet aux applications de récupérer et d’acheter des références SKU de produits intégrés à l’application.

Cette fonctionnalité est nécessaire pour utiliser certaines API de l’espace de noms Windows.ApplicationModel.Store.Preview.
Paramètres de première connexion La fonctionnalité restreinte firstSignInSettings permet aux applications d’accéder aux paramètres utilisateur définis lors de la première connexion de l’utilisateur à son appareil.
Expérience d'équipe Windows La fonctionnalité restreinte teamEditionExperience permet aux applications d’accéder aux API internes qui contrôlent de nombreux aspects expérimentaux d’une session d’équipe Windows. Une session d’équipe Windows peut s’exécuter sur un appareil collaboratif tel qu’un Microsoft Surface Hub.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Déverrouillage à distance La fonctionnalité restreinte remotePassportAuthentication permet aux applications d’accéder aux informations d’identification qui peuvent être utilisées pour déverrouiller un PC distant.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Composition d'aperçu La fonctionnalité restreinte previewUiComposition permet aux applications d’afficher un aperçu de l’espace de noms Windows.UI.Composition pour leur interface utilisateur afin de pouvoir fournir des commentaires sur l’API avant la fin de son exécution. Pour plus d'informations, contactez wincomposition@microsoft.com.
Verrouillage de sécurisation des évaluations La fonctionnalité restreinte secureAssessment permet aux applications de verrouiller Windows en mode Application unique pour sécuriser les évaluations.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Approvisionnement du Gestionnaire des connexions La fonctionnalité restreinte networkConnectionManagerProvisioning permet aux applications de définir les stratégies régissant la connexion de l’appareil avec des interfaces de réseau étendu sans fil (WWAN, Wireless Wide Area Network) et de réseau local sans fil (WLAN, Wireless Local Area Network). Des applications utilisant cette fonctionnalité sont créées par des opérateurs mobiles pour gérer la connexion d’appareils à leur réseau mobile.
Approvisionnement de forfait de données La fonctionnalité restreinte networkDataPlanProvisioning permet aux applications de collecter des informations concernant les forfaits de données sur l’appareil et de lire l’utilisation du réseau. Des applications utilisant cette fonctionnalité sont créées par des opérateurs mobiles pour intégrer la consommation réelle des données par leurs clients dans le paramètre de consommation des données du système d’exploitation.
Gestion des licences des logiciels La fonctionnalité restreinte slapiQueryLicenseValue permet aux applications d’interroger les stratégies de gestion des licences des logiciels.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Exécution étendue La fonctionnalité restreinte extendedBackgroundTaskTime empêche l'annulation ou l'interruption des tâches exécutées en arrière-plan pour cause de limites liées à la durée d'exécution. Elles restent soumises à toutes les autres limites de mémoire et de consommation d'énergie. Cette fonctionnalité peut être restreinte par l'utilisation de la batterie ou par les paramètres de confidentialité des applications exécutées en arrière-plan. Notez que les consommateurs et les administrateurs conservent la possibilité de contrôler les tâches exécutées en arrière-plan à l'aide des paramètres de stratégie de groupe.

La fonctionnalité restreinte extendedExecutionBackgroundAudio permet aux applications de lire le son quand l’application n’est pas au premier plan.

La fonctionnalité restreinte extendedExecutionCritical permet aux applications de commencer une session d’exécution étendue critique.

La fonctionnalité restreinte extendedExecutionUnconstrained permet aux applications de démarrer une session d’exécution étendue sans contraintes.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.

Consultez Reporter la suspension d'une application avec l'exécution étendue pour plus d'informations sur l'utilisation de l'exécution étendue afin de différer une opération lorsque votre application est suspendue.
Gestion des appareils mobiles La fonctionnalité restreinte deviceManagementDmAccount permet aux applications d’approvisionner et de configurer les comptes MO OMA-DM (Mobile Operator Open Mobile Aliance - Device Management).

La fonctionnalité restreinte deviceManagementFoundation permet aux applications de disposer d’un accès de base à l’infrastructure du fournisseur de services de configuration (CSP) dans la gestion des périphériques mobiles (GPM) sur l’appareil. Notez que d’autres fonctionnalités sont nécessaires pour accéder à des CSP spécifiques.

La fonctionnalité restreinte deviceManagementWapSecurityPolicies permet aux applications de configurer des services basés sur le protocole WAP (Wireless Application Protocol), tels que les MMS, la stratégie des messages d’indication de service (IS)/chargement de service (CS), et OMA-CP (Open Mobile Alliance - Client Provisioning).

La fonctionnalité restreinte deviceManagementEmailAccount permet aux applications créées par des opérateurs mobiles d’ajouter et de gérer un compte de messagerie sur des appareils fournis aux utilisateurs.
Contrôle de stratégie de package La fonctionnalité restreinte packagePolicySystem permet aux applications de contrôler les stratégies système liées aux applications installées sur l’appareil.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Liste de jeux La fonctionnalité restreinte gameList permet aux applications d’obtenir la liste des jeux connus installés sur le système.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Accessoire Xbox La fonctionnalité restreinte xboxAccessoryManagement permet aux applications de gérer directement les appareils Xbox qui sont conformes aux spécifications matérielles Xbox.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Reconnaissance vocale pour les accessoires La fonctionnalité restreinte cortanaSpeechAccessory permet aux applications d’appeler et de transmettre des commandes à Cortana.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Gestion des accessoires La fonctionnalité restreinte accessoryManager permet aux applications de s’inscrire en tant qu’applications pour accessoire et d’opter pour des notifications d’application spécifiques afin que celles-ci puissent être transférées à des accessoires et s’afficher à l’intention de l’utilisateur.
Accès aux pilotes La fonctionnalité restreinte interopServices permet aux applications d’interagir directement avec les pilotes.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Observation de premier plan La fonctionnalité restreinte inputForegroundObservation permet aux applications de premier plan d’intercepter les saisies au clavier et de contourner tous les traitement de saisie au clavier non liés aux applications. Les combinaisons SAS ne peuvent pas être interceptées par cette fonctionnalité. Cette fonctionnalité est nécessaire pour accéder aux membres de la classe KeyboardDeliveryInterceptor.
Applications de fabricants d'ordinateurs OEM et d'opérateurs mobiles partenaires La fonctionnalité restreinte oemDeployment permet aux applications qui sont créées par les partenaires Microsoft d’installer les nouvelles applications et d’interroger les applications actuellement installées sur l’appareil.

La fonctionnalité restreinte oemPublicDirectory permet aux applications qui sont créées par les partenaires Microsoft d’avoir accès au dossier des applications partagées. Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Licences d'application La fonctionnalité restreinte appLicensing permet aux applications de s’exécuter sans nécessiter de licence. Vous ne pouvez pas soumettre votre application au Windows Store si vous déclarez cette fonctionnalité dans votre manifeste.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Système de localisation La fonctionnalité restreinte locationSystem permet aux applications d’effectuer certaines configurations d’emplacement privilégiées, comme la définition de l’emplacement par défaut de l’appareil.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Fournisseur de comptes de données utilisateur La fonctionnalité restreinte userDataAccountsProvider permet aux applications de gérer complètement les comptes de messagerie, de calendrier et de contact.
Espace de travail du stylet La fonctionnalité previewPenWorkspace permet à une application d’accéder à l’espace de noms Windows.ApplicationModel.Preview.Notes pour être hébergée à l’intérieur de l’espace de travail du stylet comme gestionnaire d’actions de mémorisation.
Facteur d'authentification secondaire La fonctionnalité secondaryAuthenticationFactor permet à une application de déverrouiller un PC en passant le magasin des secrets sur un système d’authentification par dispositif complémentaire proche. Par exemple, un bracelet connecté complémentaire peut être utilisé pour déverrouiller le PC. Cette fonctionnalité est nécessaire pour accéder aux API de l’espace de noms Windows.Security.Authentication.Identity.Provider.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Gestion des licences du Store La fonctionnalité storeLicenseManagement permet aux applications de concentrateur des partenaires Microsoft de gérer les licences du Windows Store sur l’appareil. Cette fonctionnalité est nécessaire pour accéder aux API de l’espace de noms Windows.ApplicationModel.Store.LicenseManagement.
ID du système de l'utilisateur La fonctionnalité userSystemId permet aux applications d’obtenir un identificateur système spécifique à l’utilisateur. Cet identificateur identifie de manière unique l’utilisateur actuel sur un système spécifique et peut être utilisé pour mettre en corrélation des informations entre plusieurs applications. Cette fonctionnalité est obligatoire pour accéder à la méthode SystemIdentification.GetSystemIdForUser(User).
Contenu ciblé La fonctionnalité targetedContent confère à une application la possibilité de récupérer et d'utiliser le contenu d'un abonnement ciblé fourni par l'espace de noms Windows.Services.TargetedContent.

Cette fonctionnalité est nécessaire pour utiliser certaines API de l'espace de noms Windows.System.Profile.SystemIdentification.
UI Automation La fonctionnalité uiAutomation permet à un client UI Automation, tel que le Narrateur, de se connecter à un fournisseur ou serveur UI Automation.

Cette fonctionnalité est nécessaire pour utiliser certaines API de l'espace de noms Windows.Xbox.Media.Capture.Broadcaster.
Services de la barre de jeux La fonctionnalité gameBarServices est limitée aux UWA de la boîte de réception qui peuvent être mises à jour dans le magasin principal.

Cette fonctionnalité est nécessaire pour utiliser la classe Windows.Media.Capture.GameBarsSrvices.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Services de capture d'application La fonctionnalité appCaptureServices est limitée aux parties avec lesquelles Microsoft entretient des relations contractuelles. Ces relations sont accordées sur la base de contrats de partenariat, qui sont pilotés à l'aide des Services Xbox et bizdev.

Cette fonctionnalité est nécessaire pour utiliser la classe Windows.Media.Capture.AppCaptureServices.
Services de diffusion d'applications La fonctionnalité appBroadcastServices est limitée aux parties avec lesquelles Microsoft entretient des relations contractuelles. Ces relations sont accordées sur la base de contrats de partenariat, qui sont pilotés à l'aide des Services Xbox.

Cette fonctionnalité est nécessaire pour utiliser la classe Windows.Media.capture.AppBroadcastServices.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Configuration d'appareil audio La fonctionnalité audioDeviceConfiguration permet à une application d'interroger, de configurer, d'activer et de désactiver les effets audio exposés par le pilote audio.

Cette fonctionnalité est nécessaire pour utiliser la classe Windows.Media.Devices.AudioDeviceModulesManager.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée. Ceci est dû au fait que la fonction AudioDeviceModulesManager autorise une application à accéder à tous les effets audio d'un système donné. Potentiellement, les effets audio peuvent être configurés de manière à avoir un impact négatif sur les performances audio de l'appareil.
Lecture multimédia en arrière-plan La fonctionnalité backgroundMediaRecording change le comportement des API propres au contenu multimédia comme les classes MediaCapture et AudioGraph pour permettre l'enregistrement de contenu multimédia pendant que votre application s'exécute en arrière-plan.
Espace de travail Preview Ink La fonctionnalité previewInkWorkspace permet à une application d'accéder à l'espace de noms Preview Ink hébergé dans l'espace de travail Ink. En règle générale, elle est utilisée par un OEM pour remplacer l'application tableau blanc sur un appareil.

Cette fonctionnalité est nécessaire pour les API de l'espace de noms Windows.ApplicationModel.Preview.InkWorkspace.
Gestion de l'écran de démarrage La fonctionnalité startScreenManagement permet aux applications d'épingler des vignettes en mode silencieux sur l'écran de démarrage. Les applications peuvent également épingler à partir de l'arrière-plan. L'absence de fonctionnalité startScreenManagement ne bloquera pas les API ; avec l'utilisation de startScreenManagement, l'interpréteur de commandes n'affichera pas d'interface utilisateur lorsqu'une application utilisera l'API Pin.
Autorisations Cortana La fonctionnalité cortanaPermissions permet à une application d'énumérer les autorisations que l'utilisateur a accordées à Cortana sur l'appareil. Elle permet également à une application d'accorder et de révoquer les autorisations Cortana sur l'appareil. Notez que l'utilisation de cortanaPermissions exige l'affichage d'un texte juridique sur l'appareil avant l'octroi de toute autorisation. Par conséquent, il est de la responsabilité de l'application d'informer l'utilisateur des conséquences légales de la modification d'une autorisation.


Cette fonctionnalité est exigée pour obtenir l'accès en lecture aux paramètres de registre HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Toutes les modifications des applications La fonctionnalité allAppMods permet à une application d'accéder au dossier AppMods de toutes les applications. Les utilitaires de gestion des modifications ont recours à allAppMods pour gérer les modifications en dehors du jeu ou de l'application qui les utilise.
Ressources étendues La fonctionnalité expandedResources permet à une application d'accéder aux ressources du Mode Jeu. Sur Xbox et les PC d’un niveau suffisant, les ressources du Mode Jeu représentent un sous-ensemble des noyaux disponibles du processeur qui sont réservés à l’usage exclusif de l’application. Sur Xbox, l'application utilise également en exclusivité une partition mémoire d'au moins 4 Go.

Cette fonctionnalité est nécessaire pour bénéficier d'une utilisation exclusive des ressources du processeur et de la mémoire comme indiqué ci-dessus.
Application protégée La fonctionnalité protectedApp autorise une application à se charger dans un processus protégé par le Store. Lorsque l'application est ingérée dans le Store, ce dernier ajoute un objet blob à l'exécutable. Le Store signe également le fichier exécutable avec une clé de Microsoft. Comme l'objet blob doit être signé par Microsoft, le chargeur de processus vérifie cet objet blob plutôt que la possibilité de mettre en œuvre un processus protégé.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Analyse du jeu La fonctionnalité gameMonitor permet au système de procéder à un contrôle actif pour détecter les éventuelles tricheries dans l'application.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Diagnostics d'application La fonctionnalité appDiagnostics permet à une application d'obtenir des informations de diagnostic (par exemple, informations relatives au package, utilisation de la mémoire et nom du compte) pour n'importe quelle application UWP en cours d'exécution. Les informations renvoyées comprennent le nom de domaine ou de compte de la machine sous lequel l'application est exécutée ; si l'application appelante est lancée avec des droits d'administrateur, elle peut récupérer la liste de toutes les applications en cours d'exécution pour tous les comptes de la machine.

Cette fonctionnalité est nécessaire pour utiliser les classes Windows.System.AppDiagnosticInfo, Windows.System.AppDiagnosticInfo.RequestAppDiagnosticInfoAsync et Windows.ApplicationModel.AppInfo.
Fournisseurs de Portail d'appareil La fonctionnalité devicePortalProvider permet aux applications d'appeler les API Windows.System.Diagnostics.DevicePortal et de faire office de serveur web pour les outils de diagnostic en mode développeur.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Authentification unique dans le cloud de l'entreprise La fonctionnalité enterpriseCloudSSO permet aux applications d'utiliser l'authentification unique sur des ressources Azure Active Directory (AAD) dans un contrôle d'affichage web hébergé.
Acceptation automatique des appels VoIP La fonctionnalité backgroundVoIP permet de recevoir et d'accepter automatiquement les appels VoIP entrants, sans que l'utilisateur ne soit obligé d'accepter l'appel de manière explicite. Les applications utilisant cette fonctionnalité disposent d'un contrôle total sur l'appareil photo et sur le microphone, et peuvent utiliser ces ressources en arrière-plan.

Nous déconseillons de déclarer cette fonctionnalité dans les applications soumises au Microsoft Store. Pour la plupart des développeurs, l'utilisation de cette fonctionnalité n'est pas approuvée.
Réserver des ressources pour les appels VoIP La fonctionnalité oneProcessVoIP vous permet de réserver les ressources processeur et mémoire nécessaires à un appel VoIP dans une application à processus unique.

Nous déconseillons de déclarer cette fonctionnalité dans les applications soumises au Microsoft Store. Pour la plupart des développeurs, l'utilisation de cette fonctionnalité n'est pas approuvée.
Réseau de mode de développement La fonctionnalité developmentModeNetwork permet aux applications d'accéder aux chemins réseau à l'aide des informations d'identification de l'utilisateur connecté lors de l'appel de l'API Win32 OpenFile dans une application C++/CX UWP ou un composant Windows Runtime C++.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Accès étendu au système de fichiers La fonctionnalité broadFileSystemAccess permet aux applications d'obtenir le même accès au système de fichiers que l'utilisateur qui exécute l'application, sans aucune invite supplémentaire de style sélecteur de fichiers pendant l'exécution. Il convient de noter que cette fonctionnalité n'est pas nécessaire pour accéder aux fichiers que l'utilisateur a déjà sélectionnés à l'aide de FilePicker ou de FolderPicker.

Cette fonctionnalité s'applique aux API Windows.Storage. Étant donné que les utilisateurs peuvent accorder ou refuser leur autorisation à tout moment dans Paramètres, vous devez vous assurer que votre application résiste à ces modifications. Dans la mise à jour d’avril 2018, la valeur par défaut pour l’autorisation est Activé. Dans la mise à jour d’octobre 2018, la valeur par défaut est Désactivé. Il est également important de ne déclarer aucune fonctionnalité spéciale de dossier telle que Documents, Images ou Vidéos avec cette fonctionnalité. Vous pouvez activer cette fonctionnalité dans votre application en ajoutant broadFileSystemAccess à votre manifeste. Pour obtenir un exemple, consultez l'article Autorisations d'accès aux fichiers.

Dans la plupart des cas, pour accéder aux emplacements du système de fichiers, votre application peut utiliser les API FileOpenPicker, FileSavePicker, FolderPicker et FutureAccessList. Si vous souhaitez demander une approbation pour utiliser la fonctionnalité broadFileSystemAccess, vous devrez indiquer pourquoi ces API ne répondent pas à vos besoins.

Remarque : Cette fonctionnalité n’est pas prise en charge sur Xbox.
BIOS et microprogramme du système La fonctionnalité smbios permet aux applications d'accéder aux données BIOS et aux données du microprogramme du système.
Niveau d'autorisation Confiance totale Il s’agit de la fonctionnalité restreinte runFullTrust. Les conditions sont définies ci-dessous, mais en résumé, un package a besoin de cette fonctionnalité s’il utilise des fonctionnalités pour lesquelles une confiance totale est requise. Un exemple courant est un package qui contient une ou plusieurs applications Confiance totale. La fonctionnalité restreinte runFullTrust permet d’installer un package comme celui-ci sur un ordinateur.

Une application Confiance totale est une application qui définit uap10:TrustLevel sur mediumIL (voir l’élément Application). Une application Confiance totale a un processus qui s’exécute avec un niveau d’intégrité moyen (voir Contrôle d’intégrité obligatoire). Et un package est un package .appx ou MSIX (voir Génération d’un package MSIX à partir de votre code).

Un autre exemple où cette fonctionnalité est nécessaire est un package avec une catégorie d’extension windows.firewallRules (voir desktop2:Extension). Elle est considérée comme une fonctionnalité Confiance totale. Dans cet exemple, il n’y a pas d’application à activer, ni de processus à lancer.

Pour utiliser la classe FullTrustProcessLauncher, cette fonctionnalité est également requise.
Élévation La fonctionnalité restreinte allowElevation permet aux applications créées par les partenaires et entreprises Microsoft de conserver les fonctionnalités de bureau existantes qui nécessitent une élévation automatique au lancement ou pendant la durée de vie d’une application.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée. Elle sera uniquement approuvée pour les applications métier déployées par les entreprises dans leur magasin privé via le Microsoft Store pour Entreprises.
Informations d'identification d'appareil de l'équipe Windows La fonctionnalité restreinte teamEditionDeviceCredential permet aux applications d'accéder aux API qui demandent des informations d'identification de compte d'appareil sur un appareil Surface Hub exécutant Windows 10 version 1703 ou ultérieure.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Affichage des applications de l'équipe Windows La fonctionnalité restreinte teamEditionView permet aux applications d'accéder aux API dédiées à l'hébergement d'une vue d'application sur un appareil Surface Hub exécutant Windows 10 version 1703 ou ultérieure.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Extension pour le traitement de l'appareil photo La fonctionnalité restreinte cameraProcessingExtension permet aux applications de traiter les images capturées à partir de l'appareil photo sans contrôle direct de celui-ci.

Cette fonctionnalité est nécessaire pour appeler les API de l'espace de noms Windows.Devices.PointOfService.Provider.

Toute personne peut demander l’accès à cette fonctionnalité pour la soumission au Windows Store.
Gestion de l'utilisation des données La fonctionnalité restreinte networkDataUsageManagement permet aux applications de recueillir des informations sur l'utilisation des données réseau.

Cette fonctionnalité est nécessaire pour appeler GetAttributedNetworkUsageAsync.

Toute personne peut demander l’accès à cette fonctionnalité pour la soumission au Windows Store.
Gérer la connectivité de la ligne téléphonique La fonctionnalité phoneLineTransportManagement permet aux applications de gérer les périphériques système responsables de la connectivité de la ligne téléphonique.

Cette fonctionnalité est nécessaire pour utiliser les API PhoneLineTransportDevice dans l'espace de noms Windows.ApplicationModel.Calls.
Ressources non virtualisées La fonctionnalité restreinte unvirtualizedResources permet à votre application de déclarer les éléments RegistryWriteVirtualization et FileSystemWriteVirtualization dans le manifeste de son package afin de désactiver la virtualisation pour le registre et le système de fichiers. Ces déclarations empêchent le système de virtualiser toute écriture dans HKEY_CURRENT_USER ou dans le dossier AppData de l’utilisateur, respectivement. Cela peut se révéler utile lorsque votre application s'attend à ce que d'autres applications lisent ou écrivent les mêmes entrées de registre ou de système de fichiers qu'elle.

Cette fonctionnalité s'adresse à certains types de jeux pour PC de bureau publiés par Microsoft et ses partenaires. Elle est également requise pour les applications empaquetées avec un emplacement externe (voir Accorder une identité de package en empaquetant avec un emplacement externe). Elle n’est pas destinée à être utilisée dans d’autres situations, car elle peut empêcher une désinstallation propre.
Application modifiable La fonctionnalité restreinte modifiableApp permet à votre application de déclarer l'extension Windows. mutablePackageDirectories dans le manifeste de son package. Cela vous permet de fournir le nom du dossier dans lequel votre application s'attend à trouver les fichiers modifiés ou ajoutés. Le système d'exploitation crée ce dossier et permet à votre application d'utiliser les fichiers qu'il contient à la place (ou en plus) des fichiers initialement installés par l'application.

Cette fonctionnalité s'adresse à certains types de jeux pour PC de bureau publiés par Microsoft et ses partenaires. Elle n'est pas accordée pour d'autres scénarios, car elle peut permettre l'exécution de code non signé.
Correctif de compatibilité de redirection d'écriture de package La fonctionnalité restreinte packageWriteRedirectionCompatibilityShim configure votre application de manière à ce qu'elle crée les nouveaux fichiers à un emplacement propre à chaque utilisateur. Tous les fichiers préexistants ouverts en écriture sont d'abord copiés à cet emplacement avant d'y être modifiés. Cette fonctionnalité s'adresse aux applications qui créent ou modifient des fichiers dans leur dossier d'installation.

Cette fonctionnalité s'adresse à certains types de jeux pour PC de bureau publiés par Microsoft et ses partenaires. Cela dit, dans certains cas, elle peut également convenir à d'autres applications.
Actions d'installation personnalisées La fonctionnalité restreinte customInstallActions permet à votre application de déclarer l'extension windows.customInstall dans le manifeste de son package afin de pouvoir spécifier un ou plusieurs autres fichiers d'installation (.exe ou .msi) exécutés avec votre application. Cela vous permet de spécifier des actions personnalisées dans le cadre des scénarios de déploiement standard : installation, mise à jour, réparation ou désinstallation. Cette fonctionnalité peut par exemple s'avérer utile pour les applications qui regroupent un composant redistribuable provenant d'un tiers.

Cette fonctionnalité s'adresse à certains types de jeux pour PC de bureau publiés par Microsoft et ses partenaires. Elle ne sera accordée pour aucun autre scénario.
Services empaquetés La fonctionnalité restreinte packagedServices permet aux applications créées par les partenaires et entreprises de Microsoft de déclarer l'extension windows.service dans le manifeste du package afin de pouvoir installer un ou plusieurs services avec l'application. Ces services peuvent être configurés pour s'exécuter sous les comptes Service local, Service réseau ou Système local. Les services Service local et Service réseau requièrent uniquement la fonctionnalité packagedServices. Les services Système local requièrent à la fois les fonctionnalités packagedServices et localSystemServices.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Services Système local La fonctionnalité restreinte localSystemServices permet aux applications créées par les partenaires et entreprises de Microsoft d'installer un ou plusieurs services Système local avec l'application (autrement dit, votre application peut déclarer le type de service LocalSystem pour le compte StartAccount). Ce scénario requiert également la fonctionnalité packagesServices.

Nous vous déconseillons de déclarer cette fonctionnalité dans les applications que vous soumettez au Microsoft Store. Dans la plupart des cas, l'utilisation de cette fonctionnalité est refusée.
Perception spatiale en arrière-plan La fonctionnalité restreinte backgroundSpatialPerception permet à une application d'accéder aux mouvements de la tête et des mains de l'utilisateur, ainsi qu'à des contrôleurs de mouvements et autres objets suivis pendant que l'application s'exécute en arrière-plan.
UIAccess UIAccess est une fonctionnalité de Windows qui permet à certaines applications de confiance d'interagir avec l'interface utilisateur (UI) d'autres applications, même lorsqu'elles sont exécutées avec des privilèges plus élevés ou dans une session de bureau sécurisée. Cette fonction est souvent utilisée par les outils d'accessibilité et les logiciels d'automatisation pour fournir aux utilisateurs d'autres moyens d'interagir avec les applications. La capacité restreinte uiAccess doit être spécifiée lorsque l'attribut uiAccess de l'élément requestedExecutionLevel est défini sur true dans le fichier manifest de l'application. Pour plus d’informations, consultez Considérations relatives à la sécurité pour les technologies d’assistance.

Fonctionnalités personnalisées

Le processus d'approbation des fonctionnalités personnalisées est identique à celui décrit dans la section Fonctionnalités restreintes ci-dessus. Les API SIM intégrées sont des exemples d'API qui requièrent une fonctionnalité personnalisée. Si vous souhaitez juste exécuter votre application localement en mode développeur, vous n'aurez pas besoin de fonctionnalité personnalisée. En revanche, vous en aurez besoin pour publier votre application sur le Microsoft Store ou pour l'exécuter en dehors du mode développeur.

Si vous disposez d'un responsable technique de compte Windows, vous pouvez collaborer avec lui pour solliciter l'accès. Pour plus d'informations, consultez Contacter votre responsable technique de compte Microsoft.

Pour déclarer une fonctionnalité personnalisée, modifiez le fichier source du manifeste du package de l'application (Package.appxmanifest). Lors de la déclaration de votre fonctionnalité personnalisée, ajoutez la déclaration d'espace de noms XML xmlns:uap4 et utilisez le préfixe uap4. Voici un exemple.

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

Notes

Tous les éléments CustomCapability doivent suivre les éléments Capability et précéder les éléments DeviceCapability sous le nœud Capabilities du manifeste du package.

Scénario de fonctionnalité Utilisation de la fonctionnalité
Gestionnaire d’URI d’application Une application peut s’inscrire elle-même en tant que gestionnaire pour un URI donné, de sorte que lorsque l’utilisateur ouvre un lien vers l’URI spécifié, l’application est lancée au lieu d’ouvrir le navigateur. Cela nécessite une inscription sur l’ordinateur local et une vérification par le serveur web cible. La fonctionnalité personnalisée Microsoft.delegatedWebFeatures_8wekyb3d8bbwe permet à une application d’héberger une application web progressive (PWA) et de vérifier cette PWA en tant que gestionnaire d’URI d’application sans faire référence au site web cible pour confirmation.
Configuration SAR cellulaire La fonctionnalité personnalisée Microsoft.cellularSARConfiguration_8wekyb3d8bbwe permet à une application d’effectuer la configuration des propriétés de taux d’absorption spécifique (SAR, specific absorption rate) d’un appareil. Consultez la classe MobileBroadbandSarManager.
Activation de CoreApplication Une application qui déclare la fonctionnalité personnalisée Microsoft.coreAppActivation_8wekyb3d8bbwe est basée sur CoreApplication, mais doit s’exécuter avec une confiance totale, à l’instar d’une application Pont du bureau.
Actions d’installation personnalisées Permet à l’application d’utiliser des actions d’installation/désinstallation personnalisées. Une application peut utiliser des actions personnalisées si elle dispose de la fonctionnalité restreintecustomInstallActions ET (il s’agit d’une application Xbox Game Pass MSIXVC, OU elle a la fonctionnalité personnalisée Microsoft.classicAppInstaller_8wekyb3d8bbwe).
ESim management La fonctionnalité personnalisée Microsoft.eSIMManagement_8wekyb3d8bbwe permet à une application d’effectuer la configuration de la carte SIM intégrée (eSIM) d’un appareil. Consultez la classe ESim.
Comportements d’installation hérités La fonctionnalité personnalisée Microsoft.classicAppCompat_8wekyb3d8bbwe protège le cas où une application déclare une fonctionnalité d’installation héritée (par exemple, l’écriture de ProgIds COM personnalisés dans le Registre Windows).
Installation sur l’ordinateur Protège le cas où une application déclare une fonctionnalité d’installation héritée configurée pour l’inscription sur l’ordinateur/HKLM, ce qui nécessite une élévation. Spécifiquement requis pour tout ce qui se trouve dans le manifeste de l’application où l’application déclare Scope="machine".

Par exemple, une application MSIX utilisant l’élément desktop7:ApprovedShellExtension doit définir l’étendue sur l’ordinateur et doit donc déclarer la fonctionnalité personnalisée Microsoft.classicAppCompatElevated_8wekyb3d8bbwe. Pour plus d’informations sur ce scénario, consultez desktop7:ApprovedShellExtension.
Réseau à la demande La fonctionnalité personnalisée Microsoft.onDemandHotspotControl_8wekyb3d8bbwe (la fonctionnalité de réseau à la demande) sera uniquement mise à la disposition des développeurs d’applications qui créent des scénarios de points d’accès Wi-Fi de bout en bout entre un appareil matériel capable de partage de connexion et un PC Windows. Consultez la classe WiFiOnDemandHotspotNetwork.
Inscription d’une extension d’environnement approuvée Consultez le scénario de fonctionnalité d’installation sur l’ordinateur .
Mode S Une application qui déclare la fonctionnalité personnalisée Microsoft.requiresNonSMode_8wekyb3d8bbwe ne peut pas s’exécuter sur un appareil Windows en mode S.
Applications de démarrage Une application peut être configurée pour démarrer automatiquement lors de la connexion de l’utilisateur. Normalement, l’utilisateur peut activer/désactiver ce comportement pour chaque application. La fonctionnalité personnalisée Microsoft.nonUserConfigurableStartupTasks_8wekyb3d8bbwe configure une application de sorte que l’utilisateur ne puisse pas activer/désactiver son comportement de démarrage.
Windows Core 1 Une application qui déclare la fonctionnalité personnalisée Microsoft.deployFullTrustOnHost_8wekyb3d8bbwe est entièrement approuvée pour utiliser des API Win32 natives sur un appareil Windows Core.
Windows Core 2 Une application Pont du bureau qui déclare la fonctionnalité personnalisée Microsoft.notSupportedInCoreV1_8wekyb3d8bbwe ne peut pas s’exécuter sur un appareil Windows Core.
Infrastructure d’appareil complémentaire Windows Hello La fonction liée à la fonctionnalité personnalisée Microsoft.secondaryAuthenticationFactorForLogon_8wekyb3d8bbwe est dépréciée depuis Windows 10, version 2004 (10.0; Build 19041) et nous ne l’accordons plus aux comptes de développeur. Une application qui déclare cette fonctionnalité peut être inscrite auprès de l’infrastructure d’appareil complémentaire pour activer le déverrouillage Windows avec l’appareil complémentaire associé à l’application. Pour plus d’informations, consultez Déverrouillage Windows avec appareils complémentaires (IoT) Hello.