Condividi tramite


Dichiarazioni di funzionalità delle app

Nota

Alcune informazioni sono relative a un prodotto non definitivo, che potrebbe subire modifiche sostanziali prima del rilascio sul mercato. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

A quali tipi di app si applicano le funzionalità delle app?

La maggior parte degli scenari per le funzionalità delle app è pertinente solo per le app con identità del pacchetto ed eseguite in un AppContainer. Tutte le app UWP soddisfano questi criteri; quindi le funzionalità si applicano a loro. Ma è anche possibile assegnare un'identità del pacchetto dell'app desktop e configurarla come app AppContainer. Quindi le funzionalità si applicano anche ad alcune app desktop.

Un'app desktop che è un'app AppContainer può essere identificata dal uap10:TrustLevel="appContainer"manifesto del pacchetto dell'app (per ulteriori informazioni, consultare Applicazione (Windows 10)). Allo stesso modo, un'app desktop con mediumIL (livello di integrità medio) dispone di uap10:TrustLevel="mediumIL". Le app con livello di integrità medio, note anche come app con attendibilità completa, non vengono eseguite in un AppContainer.

Le funzionalità internetClient ed enterpriseAuthentication concedono a un'applicazione la possibilità di eseguire determinate operazioni che l'utente può già eseguire. Di conseguenza, questi sono esempi di funzionalità che si applicano solo alle app AppContainer. Viceversa, un'app con livello di integrità medio è già in esecuzione come utente; quindi un'app come quella può già eseguire queste operazioni senza richiedere tali funzionalità.

Esistono tuttavia alcuni scenari in cui un'app con il livello di integrità medio deve dichiarare anche una funzionalità. Infatti, un'app con il livello di integrità medio deve dichiarare la funzionalità limitata runFullTrust. Inoltre, per poter registrare server COM fuori processo per la comunicazione tra processi (IPC), un'app in pacchetto richiede runFullTrust. Questa funzionalità è nota come COM in pacchetto (per ulteriori informazioni, consultare il post sul blog supporto del server COM e del documento OLE per Desktop Bridge).

Per informazioni su uno scenario diverso che si applica anche alle app con livello di integrità medio, consultare Funzionalità sensibili alla privacy in questo argomento.

Puoi stabilire se il manifesto del pacchetto dell'app deve essere runFullTrust semplicemente compilando il pacchetto. Makeappx.exe convaliderà lo schema e, se runFullTrust non è dichiarato ma è necessario, verrà visualizzato un messaggio di errore dettagliato, incluso il problema, insieme ai numeri di riga e colonna.

Dichiarazione di funzionalità

Se vuoi accedere a determinate API o risorse (ad esempio immagini o musica) o dispositivi (ad esempio la fotocamera o il microfono), devi dichiarare le funzionalità dell'app appropriate nel manifesto del pacchetto dell'app di Windows

Le funzionalità generali possono essere dichiarate usando Progettazione manifesto in Visual Studio oppure aggiungendole manualmente. Per altre informazioni, vedi Come specificare funzionalità nel manifesto di un pacchetto. È importante sapere che quando un utente ottiene un'app dal Microsoft Store, viene informato di tutte le funzionalità dichiarate dall'app. Assicurarsi quindi di dichiarare solo le funzionalità necessarie per l'app.

Funzionalità sensibili alla privacy

Una risorsa sensibile è una risorsa che può accedere ai dati personali dell'utente o costare denaro all'utente. In questo argomento, le funzionalità che consentono alle app di accedere a una risorsa sensibile sono contrassegnate da un asterisco (*) accanto alla colonna scenario della funzionalità.

Le funzionalità sensibili alla privacy segnalano al sistema operativo e all'utente cosa intende fare l'app. Poiché è consigliabile inviare questo segnale agli utenti della tua app, ti consigliamo di dichiarare funzionalità sensibili alla privacy anche per le app con livello di integrità medio (in cui l'identità dell'applicazione viene usata per fornire opzioni individuali per la privacy). In questo modo queste app possono essere gestite nelle pagine delle impostazioni di privacy (gestite dall'app Impostazioni di Windows) non appena vengono installate, anziché in un secondo momento, quando accedono a risorse sensibili alla privacy.

Queste impostazioni di privacy consentono all'utente di controllare dinamicamente l'accesso alle risorse sensibili. Pertanto, è importante che la tua app non presuma che sia sempre disponibile una risorsa sensibile. Per ulteriori informazioni sull'accesso alle risorse sensibili, consultare Sicurezza.

Diversi tipi di funzionalità

Esistono diversi tipi di funzionalità.

Funzionalità di uso generale

Le funzionalità di uso generale sono specificate tramite gli elementi Capability nel manifesto del pacchetto dell'app. Queste funzionalità si applicano agli scenari più comuni delle app.

Nota

Tutti gli elementi Capability devono precedere gli elementi CustomCapability e DeviceCapability nel nodo Capabilities all'interno del manifesto del pacchetto.

Scenario funzionalità Utilizzo funzionalità
Musica* La funzionalità musicLibrary fornisce accesso a livello di codice alla libreria Musica dell'utente, consentendo all'app di enumerare tutti i file della libreria e accedervi senza intervento da parte dell'utente. Questa funzionalità viene in genere usata in app di tipo jukebox che prevedono l'uso dell'intera raccolta Musica.

L'utilità selezione file offre un solido meccanismo di interfaccia utente che consente agli utenti di aprire file da usare in un'app. Dichiara la funzionalità musicLibrary solo se gli scenari della tua app richiedono l'accesso a livello di codice e non è possibile attuarli con selezione file.

La funzionalità musicLibrary deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><uap:Capability Name="musicLibrary"/></Capabilities>
Immagini* La funzionalità picturesLibrary fornisce accesso a livello di codice alla libreria Immagini dell'utente, consentendo all'app di enumerare tutti i file della libreria e accedervi senza intervento da parte dell'utente. Questa funzionalità viene in genere usata in app per le foto che devono accedere all'intera raccolta Immagini.

L'utilità selezione file offre un solido meccanismo di interfaccia utente che consente agli utenti di aprire file da usare in un'app. Dichiara la funzionalità picturesLibrary solo se gli scenari della tua app richiedono l'accesso a livello di codice e non è possibile attuarli con selezione file.

La funzionalità picturesLibrary deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><uap:Capability Name="picturesLibrary"/></Capabilities>
Video* La funzionalità videosLibrary offre accesso a livello di codice ai video dell'utente, consentendo all'app di enumerare tutti i file nella raccolta e accedervi senza intervento da parte dell'utente. Questa funzionalità viene in genere usata in app per la riproduzione di filmati che prevedono l'uso dell'intera raccolta Video.

L'utilità selezione file offre un solido meccanismo di interfaccia utente che consente agli utenti di aprire file da usare in un'app. Dichiara la funzionalità videosLibrary solo se gli scenari della tua app richiedono l'accesso a livello di codice e non è possibile attuarli con selezione file.

La funzionalità videosLibrary deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><uap:Capability Name="videosLibrary"/></Capabilities>
Archivi rimovibili La funzionalità removableStorage offre accesso a livello di codice ai file contenuti in archivi rimovibili, ad esempio unità USB e dischi rigidi esterni, con un filtro in base alle associazioni di tipi di file dichiarate nel manifesto del pacchetto. Se ad esempio un'app di lettura documenti dichiara un'associazione di tipo di file con estensione doc, può aprire i file con estensione doc presenti nell'archivio rimovibile, ma non altri tipi di file. Presta attenzione quando dichiari questa funzionalità, in quanto gli utenti potrebbero includere diverse informazioni nei propri archivi rimovibili e potrebbero volere una giustificazione valida per consentire l'accesso a livello di codice da parte dell'app a un archivio per tutti i file del tipo dichiarato.

Gli utenti si aspettano che l'app gestisca qualsiasi associazione di file dichiarata. Pertanto, non dichiarare associazioni di file che l'app non può gestire in modo corretto. L'utilità selezione file offre un solido meccanismo di interfaccia utente che consente agli utenti di aprire file da usare in un'app.

Dichiara la funzionalità removableStorage solo se gli scenari della tua app richiedono l'accesso a livello di codice e non è possibile attuarli con selezione file.

La funzionalità removableStorage deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><uap:Capability Name="removableStorage"/></Capabilities>
Internet e reti pubbliche* Ci sono due funzionalità che offrono livelli di accesso diversi a Internet e alle reti pubbliche.

La funzionalità internetClient indica che le app possono ricevere dati in ingresso da Internet. Non può fungere da server. Nessun accesso alla rete locale.
La funzionalità internetClientServer indica che le app possono ricevere dati in ingresso da Internet. Può fungere da server. Nessun accesso alla rete locale.

La maggior parte delle app con un componente servizio Web userà internetClient. Le app che supportano scenari peer-to-peer (P2P), nei quali l'app deve restare in ascolto di connessioni di rete in ingresso, dovrebbero usare internetClientServer. La funzionalità internetClientServer include l'accesso offerto dalla funzionalità internetClient, pertanto non devi specificare internetClient se specifichi internetClientServer.
Reti domestiche e aziendali* La funzionalità privateNetworkClientServer offre l'accesso in entrata e in uscita a reti domestiche e aziendali attraverso il firewall. Questa funzionalità è in genere usata per i videogiochi che comunicano nell'ambito della rete locale (LAN) e per le app per la condivisione di dati fra vari dispositivi locali. Se l'app specifica musicLibrary, picturesLibrary o videosLibrary, non devi usare questa funzionalità per accedere alla raccolta corrispondente in un gruppo home. In Windows questa funzionalità non consente l'accesso a Internet.
Appuntamenti La funzionalità appointments fornisce accesso all'archivio appuntamenti dell'utente. Questa funzionalità permette l'accesso in lettura agli appuntamenti ottenuti dagli account di rete sincronizzati e ad altre app che scrivono nell'archivio appuntamenti. Grazie a questa funzionalità, l'app può creare nuovi calendari e scrivere appuntamenti nei calendari che crea.

La funzionalità appointments deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><uap:Capability Name="appointments"/></Capabilities>
Contatti* La funzionalità contacts offre l'accesso alla visualizzazione aggregata dei contatti provenienti da diversi archivi di contatti. Questa funzionalità permette all'app un accesso limitato (si applicano le regole di autorizzazione della rete) ai contatti sincronizzati da diverse reti e dall'archivio contatti locale.

La funzionalità contacts deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><uap:Capability Name="contacts"/></Capabilities>
Generazione codice La funzionalità codeGeneration consente alle app di accedere a queste funzioni che offrono funzionalità JIT alle app.

VirtualProtectFromApp
CreateFileMappingFromApp
OpenFileMappingFromApp
MapViewOfFileFromApp
AllJoyn La funzionalità allJoyn consente alle app e ai dispositivi abilitati a AllJoyn in rete di trovare altre app e dispositivi e di interagire tra loro.

Tutte le app che accedono alle API nello spazio dei nomi Windows.Devices.AllJoyn devono usare questa funzionalità.
Chiamate telefoniche La funzionalità phoneCall consente alle app di accedere a tutte le linee telefoniche nel dispositivo e di eseguire le funzioni seguenti.
  • Effettuare una chiamata sulla linea telefonica e visualizzare il dialer di sistema senza richiedere all'utente la conferma.
  • Accedere ai metadati correlati alla linea.
  • Accedere ai trigger correlati alla linea.
  • Consente all'app di filtro protezione da posta indesiderata selezionata dall'utente di impostare e controllare l'elenco di blocchi e di chiamare le informazioni di origine.
La funzionalità phoneCall deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

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

La funzionalità phoneCallHistoryPublic consente alle app di leggere informazioni nel registro delle chiamate cellulari e di alcune chiamate VoIP nel dispositivo. Questa funzionalità consente anche all'app di scrivere voci nel registro delle chiamate VoIP. Questa funzionalità è necessaria per accedere a tutti i membri della classe PhoneCallHistoryStore.
Cartella delle chiamate registrate* La funzionalità di dispositivo recordedCallsFolder consente alle app di accedere alla cartella delle chiamate registrate.

La funzionalità recordedCallsFolder deve includere lo spazio dei nomi mobile quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><mobile:Capability Name="recordedCallsFolder"/></Capabilities>
Informazioni account utente* La funzionalità userAccountInformation consente alle app di accedere al nome e all’immagine dell’utente.

Questa funzionalità è necessaria per accedere ad alcune API nello spazio dei nomi Windows.System.UserProfile.

La funzionalità userAccountInformation deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><uap:Capability Name="userAccountInformation"/></Capabilities>
Chiamate VoIP La funzionalità voipCall consente alle app di accedere alle API di chiamata VoIP nello spazio dei nomi Windows.ApplicationModel.Calls.

La funzionalità voipCall deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><uap:Capability Name="voipCall"/></Capabilities>
Oggetti 3D La funzionalità objects3D consente alle app di avere accesso a livello di codice ai file di oggetti 3D. Questa funzionalità viene in genere usata in app e giochi 3D che devono accedere all'intera raccolta di oggetti 3D.

Questa funzionalità è necessaria per accedere alla cartella contenente gli oggetti 3D usando le API nello spazio dei nomi Windows.Storage.

La funzionalità objects3D deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><uap:Capability Name="objects3D"/></Capabilities>
Accesso ai messaggi di chat* La funzionalità chat consente alle app di leggere ed eliminare messaggi SMS ed MMS. Consente anche alle app di archiviare i messaggi nell'archivio dati di sistema.

Questa funzionalità è necessaria per accedere ai messaggi usando le API nello spazio dei nomi Windows.ApplicationModel.Chat.

La funzionalità chat deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><uap:Capability Name="chat"/></Capabilities>
Lettura dei messaggi bloccati* La funzionalità blockedChatMessages consente alle app di leggere messaggi SMS ed MMS bloccati dall’app di filtro protezione da posta indesiderata.

Questa funzionalità è necessaria per accedere ai messaggi bloccati usando le API nello spazio dei nomi Windows.ApplicationModel.Chat.

La funzionalità blockedChatMessages deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><uap:Capability Name="blockedChatMessages"/></Capabilities>
Dispositivi personalizzati La funzionalità lowLevelDevices consente alle app di accedere ai dispositivi personalizzati quando vengono soddisfatti alcuni requisiti aggiuntivi. Questa funzionalità non deve essere confusa con la funzionalità di dispositivo lowLevel, che consente l'accesso ai dispositivi GPIO, I2C, SPI e PWM.

Se sviluppi un driver personalizzato che espone un'interfaccia dispositivo e vuoi aprire un handle per questo dispositivo e inviare IOCTL, devi: Puoi quindi usare Windows.Devices.Custom.CustomDevice per aprire un handle per il dispositivo. Per altre informazioni, vedi UWP device apps for internal devices (App per dispositivi UWP per dispositivi interni).
Amministrazione del sistema IoT La funzionalità systemManagement consente alle app di avere privilegi di amministrazione del sistema di base come arresto o riavvio, impostazioni locali e fuso orario.

Questa funzionalità è necessaria per accedere ad alcune delle API nello spazio dei nomi Windows.System.

La funzionalità systemManagement deve includere lo spazio dei nomi iot quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><iot:Capability Name="systemManagement"/></Capabilities>
Riproduzione di elementi multimediali in background La funzionalità backgroundMediaPlayback modifica il comportamento delle API specifiche degli elementi multimediali come le classi MediaPlayer e AudioGraph per consentire la riproduzione di elementi multimediali mentre le app sono in background. Tutti i flussi audio attivi non saranno più disattivati, ma continueranno a essere udibili quando un'app passa in background. Inoltre, la durata dell'app verrà estesa automaticamente mentre è in corso la riproduzione.
Sistema remoto La funzionalità remoteSystem consente alle app di accedere a un elenco di dispositivi associati all'account Microsoft dell'utente. L'accesso all'elenco dei dispositivi è necessario per eseguire tutte le operazioni mantenute tra i dispositivi. Questa funzionalità è necessaria per accedere a tutti i membri degli elementi seguenti.
Percezione spaziale La funzionalità spatialPerception fornisce accesso a livello di programmazione a dati di mapping spaziale, fornendo alle app della realtà mista informazioni sulle superfici in aree specificate dall'applicazione dello spazio intorno all'utente. Dichiara la funzionalità spatialPerception solo quando l'app userà in modo esplicito queste mesh di superficie, in quanto la funzionalità non è obbligatoria per fare in modo che le app della realtà mista eseguano il rendering olografico in base alla posizione della testa dell'utente.
Controllo multimediale globale La funzionalità globalMediaControl consente alle app di accedere alle sessioni di riproduzione in tutto il sistema che sono state integrate con SystemMediaTransportControls per fornire informazioni sulla riproduzione e consentire il controllo remoto. Questa funzionalità è necessaria per usare alcune API nello spazio dei nomi Windows.Media.Control. Questa funzionalità è definita nell'elemento uap7:Capability.
Acquisizione grafica La funzionalità graphicsCapture consente alle app di acquisire screenshot di finestre o visualizzazioni se consentite dall'utente. Questa funzionalità è necessaria per usare l'oggetto Windows.Graphics.Capture.GraphicsCapturePicker. Questa funzionalità è definita nell'elemento uap6:Capability.
Acquisizione grafica senza bordi La funzionalità graphicsCaptureWithoutBorder consente alle app di acquisire screenshot senza mostrare un bordo screenshot intorno alla finestra o alla visualizzazione. Questa funzionalità è necessaria per usare la proprietà Windows.Graphics.Capture.GraphicsCaptureSession.IsBorderRequired. Questa funzionalità è definita nell'elemento uap11:Capability.
Acquisizione grafica a livello di codice La funzionalità graphicsCaptureProgrammatic consente alle app di acquisire screenshot di varie finestre o visualizzazioni autonomamente. Questa funzionalità è necessaria per creare un oggetto Windows.Graphics.Capture.GraphicsCaptureItem da un oggetto WindowId oDisplayId. Questa funzionalità è definita nell'elemento uap11:Capability.
Attività dati utente La funzionalità userDataTasks fornisce l'accesso alle API nello spazio dei nomi Windows.ApplicationModel.UserDataTasks, che forniscono l'accesso agli elementi attività archiviati in Windows da connessioni EAS (Exchange ActiveSync) e ad altre app del provider.
Listener di notifiche utente La funzionalità userNotificationListener fornisce l'accesso alle API nello spazio dei nomi Windows.UI.Notifications.Management, che consentono la gestione delle notifiche utente.

Funzionalità del dispositivo

Le funzionalità di dispositivo consentono all'app di accedere alle periferiche e ai dispositivi interni. Le funzionalità di dispositivo sono specificate tramite gli elementi DeviceCapability nel manifesto del pacchetto dell'app. Questo elemento potrebbe richiedere altri elementi subordinati e alcune funzionalità di dispositivo devono essere aggiunte manualmente al manifesto del pacchetto. Per altre info, consultare Come specificare funzionalità di dispositivo nel manifesto di un pacchetto e il Riferimento dello schema DeviceCapability.

Nota

È possibile avere più elementi DeviceCapability nell'elemento Capabilities nel manifesto del pacchetto. Tutti gli elementi DeviceCapability devono venire dopo qualsiasi elemento Capability e CustomCapability.

Scenario funzionalità Utilizzo funzionalità
Location* La funzionalità location offre accesso alla posizione dell’utente recuperata da hardware dedicato, ad esempio un sensore GPS installato nel PC, o derivata dalle info di rete disponibili. Le app devono gestire le situazioni in cui l’utente ha disabilitato i servizi di posizione dall’accesso Impostazioni.
Microfono La funzionalità microphone fornisce accesso al feed audio del microfono, consentendo all'app di registrare audio dai microfoni connessi. Le app devono gestire le situazioni in cui l’utente ha disabilitato il microfono dall’accesso Impostazioni.
Prossimità La funzionalità proximity consente a più dispositivi in prossimità l’uno dall’altro di comunicare tra loro. Questa funzionalità viene in genere usata in giochi occasionali multiplayer e in app che scambiano informazioni. I dispositivi tentano di usare la tecnologia di comunicazione che assicura la migliore connessione possibile, tra cui Bluetooth, WiFi e Internet. Questa funzionalità viene usata solo per avviare la comunicazione tra i dispositivi.
Webcam La funzionalità webcam consente l’accesso al feed video di una fotocamera integrata o una webcam esterna, permettendo all’app di acquisire foto e video. In Windows le app devono gestire le situazioni in cui l’utente ha disabilitato la fotocamera dall’accesso Impostazioni.
La funzionalità webcam consente solo l’accesso al flusso video. Per concedere l’accesso anche al flusso audio, devi aggiungere la funzionalità microphone.
USB La funzionalità usb consente l’accesso alle API, come descritto in Aggiornamento del pacchetto del manifesto dell’app per un dispositivo USB.
Human interface device (HID) La funzionalità di dispositivo humaninterfacedevice consente l’accesso alle API, come descritto in Come specificare funzionalità di dispositivo per HID.
Point of Service (POS) La funzionalità di dispositivo pointOfService consente l’accesso alle API nello spazio dei nomi Windows.Devices.PointOfService. Questo spazio dei nomi consente all'app di accedere a lettori di bande magnetiche e scanner di codici a barre Point of Service (POS). Questo spazio dei nomi fornisce un'interfaccia indipendente dal fornitore che consente di accedere a dispositivi POS di vari produttori da un'app UWP.
Bluetooth La funzionalità di dispositivo bluetooth consente alle app di comunicare con dispositivi Bluetooth già associati tramite il protocollo GATT (Generic Attribute) o RFCOMM (Classic Basic Rate).
Questa funzionalità è necessaria per usare alcune API nello spazio dei nomi Windows.Devices.Bluetooth.
Rete Wi-Fi IMPORTANTE. La funzionalità del dispositivo wiFiControl sarà influenzata dalle prossime modifiche al comportamento del sistema operativo, previste per l'autunno 2024. Per altre informazioni, vedere Modifiche al comportamento dell'API per l'accesso e la posizione Wi-Fi.

La funzionalità di dispositivo wiFiControl consente alle app di cercare reti Wi-Fi e di connettersi a tali reti.
Questa funzionalità è necessaria per usare alcune API nello spazio dei nomi Windows.Devices.WiFi.
Stato radio La funzionalità di dispositivo radios consente alle app di attivare o disattivare le radio Wi-Fi e Bluetooth.
Questa funzionalità è necessaria per usare le API nello spazio dei nomi Windows.Devices.Radios.
Disco ottico La funzionalità di dispositivo optical consente alle app di accedere alle funzioni nelle unità disco ottico, come CD, DVD e Blu-Ray.
Questa funzionalità è necessaria per usare alcune API nello spazio dei nomi Windows.Devices.Custom.
Attività movimento La funzionalità di dispositivo activity consente alle app di rilevare il movimento attuale del dispositivo.
Questa funzionalità è necessaria per usare alcune API nello spazio dei nomi Windows.Devices.Sensors.
Rilevamento presenza La funzionalità del dispositivo humanPresence consente alle app di accedere ai sensori di presenza nel dispositivo che possono fornire informazioni sulla presenza e sul coinvolgimento degli utenti.
Questa funzionalità è necessaria per usare alcune API nello spazio dei nomi Windows.Devices.Sensors.
Comunicazione seriale La funzionalità di dispositivo serialcommunication fornisce l'accesso alle API nello spazio dei nomi Windows.Devices.SerialCommunication che consente a un'app di Windows di comunicare con un dispositivo che espone una porta seriale o l'astrazione di una porta seriale. Questa funzionalità è necessaria per usare le API nello spazio dei nomi Windows.Devices.SerialCommnication.
Tracciatore oculare La funzionalità gazeInput consente alle app di rilevare dove sta guardando l'utente all'interno dei confini dell'applicazione quando è connesso un dispositivo di tracciamento oculare compatibile o per i dispositivi di realtà mista che supportano il rilevamento dello sguardo fisso. Questa funzionalità è necessaria per usare alcune API nello spazio dei nomi Windows.Devices.Input.Preview. Per i dispositivi di realtà mista, questa funzionalità è necessaria per le API in Windows.Perception.People.EyesPose.
GPIO, I2C, SPI e PWM La funzionalità del dispositivo lowLevel consente di accedere ai dispositivi GPIO, I2C, SPI e PWM. Questa funzionalità è necessaria per usare le API negli spazi dei nomi seguenti: Windows.Devices.Gpio, Windows.Devices.I2c, Windows.Devices.Spi,Windows.Devices.Pwm.

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

Funzionalità con restrizioni

Se l'app dichiara funzionalità con restrizioni, devi fornire informazioni durante il processo di invio dell'app per ottenere l'approvazione per pubblicare l'app nel Microsoft Store. Queste informazioni vengono fornite nella pagina Opzioni di invio dell'app, spiegando in che modo l'app usa ogni funzionalità con restrizioni che dichiara.

Importante

Le funzionalità con restrizioni sono destinate a scenari estremamente specifici. L'uso di queste funzionalità è soggetto a notevoli restrizioni e a criteri di verifica e accettazione aggiuntivi dello Store. Tieni presente che puoi trasferire localmente le app che dichiarano funzionalità con restrizioni senza necessità di ricevere approvazioni. L'approvazione è necessaria solo per l'invio di queste app allo Store.

Assicurati di non dichiarare queste funzionalità con restrizioni a meno che non siano essenziali per l'app. In alcuni casi queste funzionalità sono necessarie e opportune, ad esempio per servizi bancari con autenticazione a due fattori, in cui gli utenti forniscono una smart card con un certificato digitale a conferma della propria identità. Altre app possono essere progettate principalmente per clienti aziendali e avere la necessità di accedere a risorse dell'organizzazione non accessibili senza le credenziali di dominio dell'utente.

Per dichiarare una funzionalità con restrizioni, modifica il file di origine del manifesto del pacchetto dell'app (Package.appxmanifest). Aggiungi la dichiarazione dello spazio dei nomi XML xmlns:rescap e usa il prefisso rescap quando dichiari la funzionalità con restrizioni. Ad esempio, ecco come dichiarare la funzionalità 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>

Nota

Tutti gli elementi di funzionalità con restrizioni devono precedere gli elementi CustomCapability e DeviceCapability nel nodo Capabilities all'interno del manifesto del pacchetto.

Processo di approvazione delle funzionalità con restrizioni

In precedenza era necessario di contattare il supporto per ottenere l'approvazione per l'uso di una funzionalità. Ora queste informazioni possono essere fornite nel Centro per i partner nell'ambito del processo di invio.

Quando carichi i pacchetti per l'invio, verificheremo se sono dichiarate funzionalità con restrizioni. In caso affermativo, ti verrà chiesto di fornire informazioni dettagliate su come il prodotto usa ogni funzionalità nella pagina Opzioni di invio. Fornisci quanti più dettagli possibile per aiutarci a comprendere perché il tuo prodotto deve dichiarare la funzionalità. Tieni presente che questo può prolungare il tempo necessario per completare il processo di certificazione dell'invio.

Durante il processo di certificazione, i nostri tester esamineranno le informazioni che hai fornito per approvare l'uso della funzionalità nel tuo invio. Tieni presente che questo può prolungare il tempo necessario per completare il processo di certificazione dell'invio. Se l'uso della funzionalità viene approvato, la tua app passerà alle fasi successive del processo di certificazione. In genere non dovrai ripetere il processo di approvazione delle funzionalità quando invii aggiornamenti dell'app, a meno che non dichiari altre funzionalità.

Se l'uso della funzionalità non viene approvato, la certificazione dell'invio avrà esito negativo e forniremo un feedback nel report di certificazione. Avrai quindi la possibilità di creare un nuovo invio e caricare pacchetti che non dichiarano la funzionalità oppure, se del caso, risolvere gli eventuali problemi correlati all'uso della funzionalità e richiedere l'approvazione in un nuovo invio.

Nota

Se l'invio usa una sandbox di sviluppo in Dev Center (come ad esempio nel caso dei giochi che si integrano con Xbox Live), devi richiedere l'approvazione in anticipo anziché fornire informazioni nella pagina Opzioni di invio. È possibile richiedere l'approvazione in anticipo se si sta pubblicando un gioco per Xbox tramite ID@Xbox o come partner gestito. A tale scopo, contattare il team degli account Microsoft.

Il team avrà bisogno di una breve descrizione di come si sta usando la funzionalità e del perché è necessaria per il prodotto. Se non fornisci tutte le informazioni necessarie, la richiesta non verrà accettata. Potrebbe anche essere richiesto di fornire altre informazioni. Tieni presente che questo processo richiede generalmente 5 giorni lavorativi o più, quindi ti consigliamo di inviare la richiesta con largo anticipo.

Puoi anche usare questo metodo per richiedere l'approvazione (anziché fornire queste informazioni durante l'invio), indipendentemente dal fatto che usi o meno una sandbox di sviluppo, se preferisci confermare che sei autorizzato a usare una funzionalità con restrizioni prima di iniziare l'invio.

Elenco di funzionalità con restrizioni

La tabella seguente elenca le funzionalità con restrizioni. Puoi richiedere l'approvazione per queste funzionalità nelle app che invii allo Store eseguendo il processo descritto in precedenza.

Importante

Alcune di queste funzionalità con restrizioni non vengono quasi mai approvate per le app inviate allo Store, tranne in casi molto specifici e limitati. Queste funzionalità sono indicate nella tabella seguente. Ti consigliamo di non dichiarare queste funzionalità nella tua app se intendi distribuirla tramite lo Store.

Scenario funzionalità Utilizzo funzionalità
Funzionalità per le aziende Le credenziali di dominio di Windows consentono all'utente di accedere a risorse remote usando le proprie credenziali e di agire come se avesse fornito nome utente e password. La funzionalità enterpriseAuthentication è in genere usata in app line-of-business che consentono di connettersi ai server di un'organizzazione.

Non è necessaria per le comunicazioni generiche attraverso Internet.

La funzionalità enterpriseAuthentication è destinata al supporto di comuni app line-of-business. Non dichiararla nelle app che non accedono a risorse aziendali. L’utilità selezione file offre un solido meccanismo di interfaccia utente che consente agli utenti di aprire file in una condivisione di rete per l’uso in un’app. Dichiara la funzionalità enterpriseAuthentication solo se gli scenari della tua app richiedono l'accesso a livello di codice e non riesci ad attuarli con selezione file.

La funzionalità enterpriseAuthentication deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

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

Questa funzionalità è necessaria per chiamare la funzione GetUserNameEx.

La funzionalità enterpriseDataPolicy consente alle app di gestire i dati aziendali separatamente e in modo sicuro quando l'app viene gestita con i criteri di Windows Information Protection (ad esempio: gestione di dispositivi mobili e gestione di applicazioni mobili). Dichiara questa funzionalità con restrizioni come illustrato di seguito.

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

Questa funzionalità è necessaria per usare tutti i membri delle classi seguenti.
Certificati utente condivisi La funzionalità sharedUserCertificates consente a un'app di aggiungere certificati basati su software e hardware nell'archivio Utente condiviso e di accedervi, ad esempio i certificati archiviati in una smart card. Questa funzionalità è usata di solito nelle app di tipo finanziario o aziendali che richiedono una smart card per l'autenticazione.

La funzionalità sharedUserCertificates deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><uap:Capability Name="sharedUserCertificates"/></Capabilities>
Documenti* La funzionalità documentsLibrary fornisce accesso a livello di codice alla libreria Documenti dell'utente, filtrata in base alle associazioni dei tipi di file dichiarate nel manifesto del pacchetto. Ad esempio, se un'app per l'elaborazione di testo ha dichiarato un'associazione con il tipo di file con estensione doc, può aprire i file con estensione doc nella libreria Documenti dell'utente.

La funzionalità documentsLibrary è necessaria solo se l'applicazione accede a livello di codice alla libreria Documenti senza intervento dell'utente. L'applicazione non necessita della funzionalità documentsLibrary per accedere alla libreria Documenti se l'utente la sceglie con un'API di selezione. In genere, le app devono consentire all'utente di scegliere il percorso dei file, usando una delle API di selezione seguenti: L'uso di queste API consente all'utente di scegliere un percorso più adatto alle proprie esigenze, ad esempio un account con sincronizzazione cloud (ad es. OneDrive). Dopo che l'utente ha selezionato un file o una cartella con queste API, l'app può ottenere accesso continuo al percorso usando l'API FutureAccessList. Questa API consente all'app di accedere ai file o alle cartelle in futuro senza chiedere all'utente di sceglierle nuovamente.

Nei casi in cui i flussi di lavoro esistenti presuppongono che i file si trovino nella libreria Documenti (ad esempio, per l'interoperabilità con un'applicazione desktop esistente) o in cui non vuoi che l'utente debba scegliere il percorso, puoi dichiarare la funzionalità documentsLibrary per la tua applicazione. Se si usa la funzionalità documentsLibrary per l'applicazione, è consigliabile anche consentire all'utente di selezionare i percorsi manualmente.

La funzionalità documentsLibrary deve includere lo spazio dei nomi uap quando la dichiari nel manifesto del pacchetto della tua app, come illustrato di seguito.

<Capabilities><uap:Capability Name="documentsLibrary"/></Capabilities>
Impostazioni di Game DVR La funzionalità con restrizioni appCaptureSettings consente alle app di controllare le impostazioni utente per Game DVR.

Questa funzionalità è necessaria per usare alcune API nello spazio dei nomi Windows.Media.Capture.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Cellulare La funzionalità con restrizioni cellularDeviceControl consente alle app di avere il controllo del dispositivo cellulare.

La funzionalità con restrizioni cellularDeviceIdentity consente alle app di accedere ai dati di identificazione del cellulare.

La funzionalità cellularMessaging consente alle app di usare SMS e RCS.

Queste funzionalità sono necessarie per usare alcune API nello spazio dei nomi Windows.Devices.Sms.
Sblocco del dispositivo La funzionalità con restrizioni deviceUnlock consente alle app di sbloccare un dispositivo per scenari di sideload aziendali e per sviluppatori.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Riquadri per due SIM La funzionalità con restrizioni dualSimTiles consente alle app di creare un’altra voce nell’elenco delle app sui dispositivi con più SIM.

Questa funzionalità è necessaria per usare alcune API nello spazio dei nomi Windows.UI.StartScreen.
Archiviazione condivisa aziendale La funzionalità con restrizioni enterpriseDeviceLockdown consente alle app di usare l'API di blocco del dispositivo e di accedere alle cartelle di archiviazione condivisa aziendali.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Inserimento input di sistema La funzionalità con restrizioni inputInjectionBrokered consente alle app di inserire nel sistema a livello di codice diversi tipi di input, ad esempio HID, tocco, penna, tastiera o mouse. Questa funzionalità di solito è usata per le app di collaborazione che possono assumere il controllo del sistema.

Per un PC, l'inserimento di input da un'app con questa funzionalità verrà ricevuto solo dai processi che si trovano nello stesso contenitore di app.

<Capabilities><rescap:Capability Name="inputInjectionBrokered" /></Capabilities>
Osservazione dell'input* La funzionalità con restrizioni inputObservation consente alle app di osservare diversi tipi di input non elaborato ricevuto dal sistema, ad esempio HID, tocco, penna, tastiera o mouse, indipendentemente dalla destinazione finale.

Questa funzionalità e le relative API sono disponibili per l'uso solo da parte di partner Microsoft selezionati.
Eliminazione input La funzionalità con restrizioni inputSuppression consente alle app di eliminare diversi tipi di input non elaborato ricevuto dal sistema, ad esempio HID, tocco, penna, tastiera o mouse.

Questa funzionalità e le relative API sono disponibili per l'uso solo da parte di partner Microsoft selezionati.
App VPN La funzionalità con restrizioni networkingVpnProvider consente alle app l’accesso completo alle funzionalità VPN, inclusa la possibilità di gestire le connessioni e di fornire la funzionalità di plug-in VPN.

Questa funzionalità è necessaria per usare alcune API nello spazio dei nomi Windows.Networking.Vpn.
Altra gestione delle app La funzionalità con restrizioni packageManagement consente alle app di gestire direttamente altre app.

La funzionalità di dispositivo packageQuery consente alle app di raccogliere informazioni sulle altre app.

Queste funzionalità sono necessarie per accedere ad alcuni metodi e proprietà nella classe PackageManager.
Proiezione dello schermo La funzionalità con restrizioni screenDuplication consente alle app di proiettare lo schermo su un altro dispositivo.

Questa funzionalità è necessaria per usare le API nello spazio dei nomi DirectX.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Nome entità utente La funzionalità con restrizioni userPrincipalName consente alle app di accedere al nome dell'entità utente (UPN) dell'utente corrente.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Portafoglio La funzionalità con restrizioni walletSystem consente alle app l’accesso completo alle schede del portafoglio archiviate.

Questa funzionalità è necessaria per usare le API nello spazio dei nomi Windows.ApplicationModel.Wallet.System.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Cronologia posizioni La funzionalità con restrizioni locationHistory consente alle app di accedere alla cronologia delle posizioni del dispositivo.

Questa funzionalità è necessaria per usare le API nello spazio dei nomi Windows.Devices.Geolocation.
Conferma chiusura app La funzionalità con restrizioni confirmAppClose consente alle app di chiudersi, di chiudere le proprie finestre e di ritardare la chiusura delle proprie app.

Le app potrebbero richiedere questa funzionalità in Windows 10 versione 1703 (build 10.0.15063) e versioni successive. Nelle versioni precedenti di Windows 10 la funzionalità è privata e l'installazione dell'app non verrà completata con il messaggio di errore seguente: "La funzionalità richiesta non può essere autorizzata per l'applicazione."
Registro chiamate* La funzionalità con restrizioni phoneCallHistory consente alle app di leggere il registro chiamate ed eliminare voci nel registro.

Questa funzionalità è necessaria per usare le API nello spazio dei nomi Windows.ApplicationModel.Chat.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Accesso agli appuntamenti a livello di sistema La funzionalità con restrizioni appointmentsSystem consente alle app di leggere e modificare tutti gli appuntamenti nel calendario dell’utente.

Questa funzionalità è necessaria per usare le API nello spazio dei nomi Windows.ApplicationModel.Appointment.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Accesso a messaggi di chat a livello di sistema* La funzionalità con restrizioni chatSystem consente alle app di leggere e scrivere tutti gli SMS e gli MMS.
Questa funzionalità è necessaria per usare le API nello spazio dei nomi Windows.ApplicationModel.Chat.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Accesso ai contatti a livello di sistema La funzionalità con restrizioni contactsSystem consente alle app di leggere le informazioni sul contatto designate come riservate o sensibili e di modificare le informazioni sul contatto esistenti.

Questa funzionalità è necessaria per usare le API nello spazio dei nomi Windows.ApplicationModel.Chat.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Accesso alla posta elettronica La funzionalità con restrizioni email consente alle app di leggere, valutare e inviare messaggi e-mail dell’utente.

Questa funzionalità è necessaria per usare le API nello spazio dei nomi Windows.ApplicationModel.Email.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Accesso alla posta elettronica a livello di sistema La funzionalità con restrizioni emailSystem consente alle app di leggere, valutare e inviare e-mail utente riservate o sensibili.

Questa funzionalità è necessaria per usare le API nello spazio dei nomi Windows.ApplicationModel.Email.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Accesso al registro chiamate a livello di sistema La funzionalità con restrizioni phoneCallHistorySystem consente alle app di modificare completamente il registro chiamate cambiando le voci esistenti e scrivendone di nuove.

Questa funzionalità è necessaria per usare le API nello spazio dei nomi Windows.ApplicationModel.Calls.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Invio di SMS* La funzionalità con restrizioni smsSend consente alle app di inviare SMS e MMS.

Questa funzionalità è necessaria per usare le API nello spazio dei nomi Windows.ApplicationModel.Chat.
Accesso a livello di sistema a tutti i dati utente La funzionalità con restrizioni userDataSystem consente alle app di accedere all'archivio dati di sistema dei dati utente.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Funzionalità di anteprima Store La funzionalità con restrizioni previewStore consente alle app di recuperare e acquistare SKU di prodotti in-app.

Questa funzionalità è necessaria per usare alcune API nello spazio dei nomi Windows.ApplicationModel.Store.Preview.
Impostazioni primo accesso La funzionalità con restrizioni firstSignInSettings consente alle app di accedere alle impostazioni utente configurate quando l'utente ha effettuato il primo accesso al dispositivo.
Esperienza Windows Team La funzionalità con restrizioni teamEditionExperience consente alle app di accedere alle API interne che controllano molti aspetti dell’esperienza di una sessione di Windows Team. Una sessione di Windows Team verrà probabilmente eseguita su un dispositivo per il lavoro in team come Microsoft Surface Hub.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Sblocco remoto La funzionalità con restrizioni remotePassportAuthentication consente alle app di accedere a credenziali che possono essere usate per sbloccare un PC remoto.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Anteprima Composition La funzionalità con restrizioni previewUiComposition consente alle app di visualizzare in anteprima lo spazio dei nomi Windows.UI.Composition per l’interfaccia utente, in modo che possano fornire feedback sull’API prima che venga completata. Per altre informazioni, contattare wincomposition@microsoft.com.
Blocco valutazione sicura La funzionalità con restrizioni secureAssessment consente alle app di bloccare Windows in modalità singola app per valutazioni sicure.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Provisioning Gestione connessioni La funzionalità con restrizioni networkConnectionManagerProvisioning consente alle app di definire i criteri che connettono il dispositivo con le interfacce WWAN e WLAN. Le app che usano questa funzionalità vengono create dagli operatori di telefonia mobile per gestire la connessione dei dispositivi alla rete mobile.
Provisioning piano dati La funzionalità con restrizioni networkDataPlanProvisioning consente alle app di raccogliere informazioni sui piani dati nel dispositivo e di leggere i dati sull’uso della rete. Le app che usano questa funzionalità vengono create dagli operatori di telefonia mobile per integrare il consumo dati effettivo dei loro clienti con l'impostazione del consumo dati del sistema operativo.
Gestione licenze software La funzionalità con restrizioni slapiQueryLicenseValue consente alle app di effettuare una query dei criteri di gestione delle licenze software.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Esecuzione estesa La funzionalità con restrizioni extendedBackgroundTaskTime evita l'annullamento o l'arresto delle attività in background a causa dei limiti del tempo di esecuzione. Sono comunque soggette a tutti gli altri limiti di uso di memoria ed energia. Questa funzionalità può essere limitata tramite le impostazioni relative all'uso della batteria o alla privacy delle app in background. Nota che gli utenti e gli amministratori continueranno ad avere la possibilità di controllare le attività in background tramite le impostazioni Criteri di gruppo.

La funzionalità con restrizioni extendedExecutionBackgroundAudio consente alle app di riprodurre l’audio quando l’app non è in primo piano.

La funzionalità con restrizioni extendedExecutionCritical consente alle app di iniziare una sessione di esecuzione estesa critica.

La funzionalità con restrizioni extendedExecutionUnconstrained consente alle app di iniziare una sessione di esecuzione estesa senza vincoli.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.

Per altre informazioni sull'uso dell'esecuzione estesa per posticipare quando l'app è sospesa, vedi Rimandare la sospensione dell'app con esecuzione estesa.
Gestione dei dispositivi mobili La funzionalità con restrizioni deviceManagementDmAccount consente alle app di effettuare il provisioning e la configurazione degli account MO OMA-DM (Mobile Operator Open Mobile Alliance - Device Management).

La funzionalità con restrizioni deviceManagementFoundation consente alle app di avere l’accesso di base all’infrastruttura CSP (Configuration Service Provider) di gestione di dispositivi mobili (MDM) sul dispositivo. Tieni presente che, per accedere a CSP specifici, sono necessarie altre funzionalità.

La funzionalità con restrizioni deviceManagementWapSecurityPolicies consente alle app di configurare i servizi basati su WAP (Wireless Application Protocol), come MMS, SI/SL (Service Indication/Service Loading) e OMA-CP (Open Mobile Alliance - Client Provisioning).

La funzionalità con restrizioni deviceManagementEmailAccount consente alle app create dagli operatori di telefonia mobile di aggiungere e gestire un account di posta elettronica nei dispositivi di cui effettuano il provisioning per gli utenti.
Controllo criteri pacchetto La funzionalità con restrizioni packagePolicySystem consente alle app di avere il controllo dei criteri di sistema correlati alle app installate nel dispositivo.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Elenco giochi La funzionalità con restrizioni gameList consente alle app di ottenere un elenco di giochi noti installati nel sistema.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Accessorio Xbox La funzionalità con restrizioni xboxAccessoryManagement consente alle app di gestire direttamente i dispositivi Xbox conformi alla specifica hardware Xbox.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Riconoscimento vocale per accessori La funzionalità con restrizioni cortanaSpeechAccessory consente alle app di richiamare e passare i comandi a Cortana.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Gestione accessori La funzionalità con restrizioni accessoryManager consente alle app di registrarsi come app per accessori e di acconsentire esplicitamente a specifiche notifiche dell'app in modo che possano essere inoltrate agli accessori e visualizzate dall'utente.
Accesso a driver La funzionalità con restrizioni interopServices consente alle app di interagire direttamente con i driver.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Osservazione in primo piano La funzionalità con restrizioni inputForegroundObservation consente alle app in primo piano di intercettare l’input da tastiera e ignorare tutta l’elaborazione dell’input da tastiera non correlato all’app. Questa funzionalità non consente l'intercettazione di combinazioni SAS. Questa funzionalità è necessaria per accedere ai membri della classe KeyboardDeliveryInterceptor.
App partner OEM e MO La funzionalità con restrizioni oemDeployment consente alle app create dai partner Microsoft di installare nuove app e recuperare le app attualmente installate nel dispositivo.

La funzionalità con restrizioni oemPublicDirectory consente alle app create da partner Microsoft di accedere alla cartella delle app condivise. Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Gestione delle licenze delle app La funzionalità con restrizioni appLicensing consente di eseguire le app senza la necessità di una licenza. Se dichiari questa funzionalità nel manifesto non potrai inviare la tua app allo store.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Sistema di posizione La funzionalità con restrizioni locationSystem consente alle app di eseguire determinate configurazioni di posizione con privilegi, ad esempio impostare la posizione predefinita per il dispositivo.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Provider di account dati dell'utente La funzionalità con restrizioni userDataAccountsProvider consente alle app di gestire interamente gli account di posta, calendario e contatti.
Area di lavoro della penna La funzionalità previewPenWorkspace consente a un'app di accedere allo spazio dei nomi Windows.ApplicationModel.Preview.Notes da ospitare all'interno dell'area di lavoro della penna come gestore dell'azione di memorizzazione.
Fattore di autenticazione secondaria La funzionalità secondaryAuthenticationFactor consente a un'app di sbloccare un PC passando l'archivio dei segreti in un dispositivo di autenticazione complementare nelle vicinanze. Ad esempio, può essere usata una fitness band complementare per sbloccare il PC. Questa funzionalità è necessaria per accedere alle API nello spazio dei nomi Windows.Security.Authentication.Identity.Provider.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Gestione delle licenze dello Store La funzionalità storeLicenseManagement consente alle app in un hub partner Microsoft di gestire le licenze dello Store nel dispositivo. Questa funzionalità è necessaria per accedere alle API nello spazio dei nomi Windows.ApplicationModel.Store.LicenseManagement.
ID di sistema dell'utente La funzionalità userSystemId consente alle app di ottenere un identificatore di sistema specifico per l'utente. Questo identificatore identifica in modo univoco l'utente attuale in un sistema specifico e può essere usato per la correlazione delle informazioni tra le app. Questa funzionalità è necessaria per accedere al metodo SystemIdentification.GetSystemIdForUser(User).
Contenuto di destinazione La funzionalità targetedContent offre a un'applicazione la possibilità di recuperare e usare il contenuto della sottoscrizione di destinazione fornito dallo spazio dei nomi Windows.Services.TargetedContent.

Questa funzionalità è necessaria per usare alcune API nello spazio dei nomi Windows.System.Profile.SystemIdentification.
Automazione interfaccia utente La funzionalità uiAutomation consente a un client di automazione dell'interfaccia utente, ad esempio Assistente vocale, di connettersi a un server di automazione dell'interfaccia utente o a un provider.

Questa funzionalità è necessaria per usare alcune API nello spazio dei nomi Windows.Xbox.Media.Capture.Broadcaster.
Servizi della barra dei giochi La funzionalità gameBarServices è limitata alle app UWA della posta in arrivo aggiornabili dello Store del produttore.

Questa funzionalità è necessaria per usare la classe Windows.Media.Capture.GameBarsSrvices.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Servizi di acquisizione di app La funzionalità appCaptureServices è limitata alle parti con cui Microsoft ha relazioni contrattuali. Queste relazioni vengono concesse in base ai contratti dei partner che sono basati sui servizi Xbox e bizdev.

Questa funzionalità è necessaria per la classe Windows.Media.Capture.AppCaptureServices.
Servizi di trasmissione di app La funzionalità appBroadcastServices è limitata alle parti con cui Microsoft ha relazioni contrattuali. Queste relazioni vengono concesse in base ai contratti dei partner che sono basati sui servizi Xbox.

Questa funzionalità è necessaria per la classe Windows.Media.capture.AppBroadcastServices.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Configurazione dei dispositivi audio La funzionalità audioDeviceConfiguration consente a un'applicazione di eseguire query, configurare, abilitare e disabilitare gli effetti audio esposti dal driver audio.

Questa funzionalità è necessaria per la classe Windows.Media.Devices.AudioDeviceModulesManager.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato. Ciò perché AudioDeviceModulesManager consente a un'applicazione di accedere a tutti gli effetti audio in un sistema specifico. Potenzialmente, gli effetti audio possono essere configurati in modo da influire negativamente sulle prestazioni audio nel dispositivo.
Registrazione di elementi multimediali in background La funzionalità backgroundMediaRecording modifica il comportamento delle API specifiche degli elementi multimediali come le classi MediaCapture e AudioGraph per consentire la registrazione di elementi multimediali mentre le app sono in background.
Area di lavoro di anteprima dell'input penna La funzionalità previewInkWorkspace consente a un'app di accedere allo spazio dei nomi dell'anteprima dell'input penna ospitato all'interno dell'area di lavoro dell'input penna. In generale, ciò viene usato da un OEM per sostituire l'applicazione Lavagna su un dispositivo.

Questa funzionalità è necessaria per le API nello spazio dei nomi Windows.ApplicationModel.Preview.InkWorkspace.
Gestione della schermata Start La funzionalità startScreenManagement consente alle app di aggiungere automaticamente i riquadri alla schermata Start. Le app possono anche essere aggiunte in background. Se non disponi della funzionalità startScreenManagement non verrà bloccata nessuna API; l'uso di startScreenManagement, invece, significa che la shell non visualizzerà nessuna interfaccia utente quando un'app usa l'API di aggiunta.
Autorizzazioni di Cortana La funzionalità cortanaPermissions consente a un'app di enumerare le autorizzazioni che l'utente ha concesso a Cortana nel dispositivo. La funzionalità consente inoltre a un'app di concedere e revocare le autorizzazioni di Cortana nel dispositivo. Nota che l'uso di cortanaPermissions richiede che il dispositivo visualizzi il testo legale prima di concedere le autorizzazioni. Di conseguenza, è responsabilità dell'app informare l'utente delle conseguenze legali della modifica delle autorizzazioni.


Questa funzionalità è necessaria per ottenere l'accesso in lettura alle impostazioni del Registro di sistema HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Tutte le modifiche delle app La funzionalità allAppMods consente a un'app di accedere alla cartella AppMods per tutte le app. Le utilità di gestione delle modifiche usano allAppMods per gestire le modifiche all'esterno del gioco o dell'app che li usa.
Ulteriori risorse La funzionalità expandedResources consente a un'app di accedere alle risorse della modalità di gioco. Su Xbox e nei PC che soddisfano una barra sufficiente le risorse della modalità di gioco rappresentano un sottoinsieme di core CPU disponibili che sono riservati per l'uso esclusivo dell'app. Su Xbox, l'app include anche l'uso esclusivo di una partizione di memoria di almeno 4 GB.

Questa funzionalità è necessaria per ottenere l'uso esclusivo delle risorse della CPU e di memoria come definito in precedenza.
App protetta La funzionalità protectedApp concede a un'app la possibilità di essere caricata in un processo protetto dallo Store. Quando l'app viene inserita nello Store, quest'ultimo aggiunge un blob al file eseguibile. Lo Store firma anche il file eseguibile con una chiave Microsoft. Il caricatore di processi controlla questo blob anziché la possibilità di imporre i processi protetti, poiché il blob necessita di una firma Microsoft.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Monitoraggio del gioco La funzionalità gameMonitor fa sì che il sistema usi il monitoraggio attivo per rilevare i trucchi dei giochi dell'app.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Diagnostica app La funzionalità appDiagnostics consente a un'app di ottenere le informazioni di diagnostica (ad esempio informazioni sul pacchetto, uso della memoria e nome dell'account) per qualsiasi altra app UWP in esecuzione. Le informazioni restituite includono il nome dell'account del dominio/computer in cui è in esecuzione l'app; se l'app chiamante viene avviata con diritti di amministratore, può recuperare un elenco di tutte le app in esecuzione per tutti gli account del computer.

Questa funzionalità è necessaria per usare le classi Windows.System.AppDiagnosticInfo, Windows.System.AppDiagnosticInfo.RequestAppDiagnosticInfoAsync e Windows.ApplicationModel.AppInfo.
Provider del portale del dispositivo La funzionalità devicePortalProvider consente alle app di chiamare le API Windows.System.Diagnostics.DevicePortal e di fungere da server Web per gli strumenti di diagnostica in Modalità sviluppatore.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Enterprise Cloud Single Sign-On La funzionalità enterpriseCloudSSO consente alle app di usare SSO con le risorse di Azure Active Directory (AAD) all'interno di un controllo visualizzazione Web ospitato.
Accettare automaticamente chiamate VoIP La funzionalità backgroundVoIP consente di ricevere e accettare automaticamente le chiamate VoIP in arrivo senza richiedere all'utente di accettare in modo esplicito la chiamata. Alle app che usano questa funzionalità viene concesso il controllo completo della fotocamera e del microfono e possono usare queste risorse in background.

È consigliabile non dichiarare questa funzionalità nelle app inviate allo Microsoft Store. Per la maggior parte degli sviluppatori, l'uso di questa funzionalità non sarà approvato.
Riservare risorse per le chiamate VoIP La funzionalità oneProcessVoIP consente di riservare le risorse di CPU e memoria necessarie per una chiamata VoIP in un'applicazione a processo singolo.

È consigliabile non dichiarare questa funzionalità nelle app inviate allo Microsoft Store. Per la maggior parte degli sviluppatori, l'uso di questa funzionalità non sarà approvato.
Development Mode Network La funzionalità developmentModeNetwork consente alle app di accedere ai percorsi di rete usando le credenziali dell'utente connesso quando si chiama l'API OpenFile Win32 in un'app UWP C++/CX o componente Windows Runtime C++.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Accesso ampio al file system La funzionalità broadFileSystemAccess concede alle app lo stesso accesso al file system dell'utente che esegue attualmente l'app, senza altre richieste di tipo selezione file durante l'esecuzione. È importante notare che questa funzionalità non è necessaria per accedere ai file che l'utente ha già scelto di usare Filepicker o FolderPicker.

Questa funzionalità può essere usata per le API Windows.Storage. Poiché gli utenti possono concedere o rifiutare l'autorizzazione in qualsiasi momento in Impostazioni, è necessario assicurarsi che l'app sia resiliente a tali modifiche. Nell'aggiornamento di aprile 2018, l'impostazione predefinita per l'autorizzazione è attiva. Nell'aggiornamento di ottobre 2018, l'impostazione predefinita per l'autorizzazione è disattivata. È inoltre importante sapere che non è possibile dichiarare alcuna funzionalità di cartella speciale, ad esempio Documenti, Immagini o Video grazie a questa funzionalità. Puoi abilitare questa funzionalità nell'app aggiungendo broadFileSystemAccess al manifesto. Per consultare un esempio, vedi l'articolo Autorizzazioni di accesso ai file.

Nella maggior parte dei casi, per accedere ai percorsi del file system, l'app può usare le API FileOpenPicker, FileSavePicker, FolderPicker e FutureAccessList. Nel caso in cui si voglia richiedere l'approvazione per usare la funzionalità broadFileSystemAccess, è necessario fornire motivi specifici sul motivo per cui tali API non sono sufficienti per le proprie esigenze.

Nota: questa funzionalità non è supportata in Xbox.
Firmware di sistema e BIOS La funzionalità smbios consente alle app di accedere ai dati del BIOS e ai dati del firmware di sistema.
Livello di autorizzazione Attendibilità totale Questa è la funzionalità con restrizioni runFullTrust. Le condizioni sono definite di seguito, ma in breve: un pacchetto richiede questa funzionalità se il pacchetto usa funzionalità per le quali è necessaria l'attendibilità completa. Un esempio comune è un pacchetto che contiene una o più app con attendibilità totale. La funzionalità con restrizioni runFullTrust consente l'installazione di un pacchetto simile a quello su un computer.

Un'app con attendibilità completa è un'app impostata su uap10:TrustLevelun livello di integrità medio (consultare l'elemento Application). Un'app con attendibilità completa ha un processo eseguito con un livello di integrità medio (consultare Controllo di integrità obbligatorio). E un pacchetto è un .appx o un pacchetto MSIX (consultare Creazione di un pacchetto MSIX dal codice).

Un altro esempio in cui questa funzionalità è necessaria è un pacchetto con una categoria di estensione di windows.firewallRules (consultare desktop2:Extension). Questa è considerata una funzionalità con attendibilità totale; e in questo esempio non esiste alcuna app da attivare e nessun processo da avviare.

Per usare la classe FullTrustProcessLauncher è necessaria anche questa funzionalità.
Elevazione La funzionalità con restrizioni allowElevation consente alle app create da partner Microsoft e aziende di conservare le funzionalità desktop esistenti che richiedono l'elevazione automatica all'avvio o per l'intera durata di un'app.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato. Verrà approvata solo per le app line-of-business distribuite dalle aziende nel proprio archivio privato tramite Microsoft Store per le aziende.
Credenziali del dispositivo Windows Team La funzionalità con restrizioni teamEditionDeviceCredential consente alle app di accedere alle API che richiedono le credenziali dell'account dispositivo in un dispositivo Surface Hub che esegue Windows 10, versione 1703 o successiva.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Visualizzazione applicazione Windows Team La funzionalità con restrizioni teamEditionView consente alle app di accedere alle API per l'hosting di una visualizzazione dell'applicazione in un dispositivo Surface Hub che esegue Windows 10, versione 1703 o successiva.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Estensione per l'elaborazione della fotocamera La funzionalità con restrizioni cameraProcessingExtension consente alle app di elaborare le immagini acquisite dalla fotocamera senza il controllo diretto della fotocamera.

Questa funzionalità è necessaria per chiamare le API nello spazio dei nomi Windows.Devices.PointOfService.Provider.

Chiunque può richiedere l'accesso a questa funzionalità per l'invio allo store.
Gestione del consumo dati La funzionalità con restrizioni networkDataUsageManagement consente alle app di raccogliere informazioni sul consumo dei dati di rete.

Questa funzionalità è necessaria per chiamare GetAttributedNetworkUsageAsync.

Chiunque può richiedere l'accesso a questa funzionalità per l'invio allo store.
Gestione della connettività della linea telefonica La funzionalità phoneLineTransportManagement consente alle app di gestire i dispositivi di sistema responsabili della connettività della linea telefonica.

Questa funzionalità è necessaria per usare le API PhoneLineTransportDevice nello spazio dei nomi Windows.ApplicationModel.Calls.
Risorse non virtualizzate La funzionalità con restrizioni unvirtualizedResources consente all'applicazione di dichiarare gli elementi RegistryWriteVirtualization e FileSystemWriteVirtualization nel manifesto del pacchetto per disabilitare la virtualizzazione per il registro di sistema e il file system. Queste dichiarazioni impediscono al sistema di virtualizzare le operazioni di scrittura rispettivamente in HKEY_CURRENT_USER o nella cartella AppData dell'utente. Questa operazione è utile negli scenari in cui l'applicazione prevede che altre applicazioni leggano o scrivano le stesse voci del registro di sistema o del file system della tua applicazione.

Questa funzionalità è progettata per determinati tipi di giochi per PC desktop pubblicati da Microsoft e dai suoi partner. È necessario anche per le app in pacchetto con posizione esterna (consultare Concedere l'identità del pacchetto tramite creazione di pacchetti con posizione esterna). Non è destinata a essere usata per altri scenari perché potrebbe compromettere la capacità del sistema di eseguire disinstallazioni in modo completo.
App modificabile La funzionalità con restrizioni modifiableApp consente all'applicazione di dichiarare l'estensione windows.mutablePackageDirectories nel manifesto del pacchetto. In questo modo è possibile specificare un nome per la cartella in cui l'applicazione prevede che siano presenti file modificati o aggiunti. Il sistema operativo creerà questa cartella e consentirà all'applicazione di usare i file in questa cartella al posto dei (o in aggiunta ai) file installati originariamente dall'applicazione.

Questa funzionalità è progettata per determinati tipi di giochi per PC desktop pubblicati da Microsoft e dai suoi partner. Non sarà concessa per altri scenari, perché può consentire l'esecuzione di codice non firmato.
Shim di compatibilità per il reindirizzamento di scrittura del pacchetto La funzionalità con restrizioni packageWriteRedirectionCompatibilityShim consente di configurare l'applicazione per creare tutti i nuovi file in un percorso a livello di singolo utente. Eventuali file preesistenti aperti per le scritture vengono prima copiati in un percorso a livello di singolo utente, quindi le modifiche vengono apportate al file in tale percorso. Questa funzionalità è utile per le applicazioni che creano o modificano i file nella cartella di installazione.

Questa funzionalità è progettata per determinati tipi di giochi per PC desktop pubblicati da Microsoft e dai suoi partner. Tuttavia, potrebbe anche essere applicabile ad altre app in alcuni casi.
Azioni di installazione personalizzata La funzionalità con restrizioni customInstallActions consente all'applicazione di dichiarare l'estensione windows.customInstall nel manifesto del pacchetto in modo che sia possibile specificare uno o più file di installazione aggiuntivi (.exe o .msi) eseguiti con l'applicazione. In questo modo è possibile specificare azioni personalizzate per uno degli scenari di distribuzione standard, ovvero installazione, aggiornamento, ripristino o disinstallazione. Questa operazione è ad esempio utile per le applicazioni che aggregano un componente ridistribuibile di terze parti.

Questa funzionalità è progettata per determinati tipi di giochi per PC desktop pubblicati da Microsoft e dai suoi partner. Non verrà concessa per altri scenari.
Servizi in pacchetto La funzionalità con restrizioni packagedServices consente alle applicazioni create da partner e aziende Microsoft di dichiarare l'estensione windows.service nel proprio manifesto del pacchetto, in modo che sia possibile installare uno o più servizi insieme all'app. Questi servizi possono essere configurati per l'esecuzione con gli account Servizio locale, Servizio di rete o Sistema locale. I servizi Servizio locale e Servizio di rete richiedono solo la funzionalità packagedServices. I servizi Sistema locale richiedono le funzionalità packagedServices e localSystemServices.

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Servizi Sistema locale La funzionalità con restrizioni localSystemServices consente alle applicazioni create da partner e aziende Microsoft di installare uno o più servizi Sistema locale insieme all'app (ovvero, l'applicazione può dichiarare lo StartAccount per i servizi come LocalSystem). Questo scenario richiede anche la funzionalità packagedServices .

Non è consigliabile di dichiarare questa funzionalità nelle applicazioni inviate a Microsoft Store. Nella maggior parte dei casi, l'uso di questa funzionalità non verrà approvato.
Percezione spaziale in backgound La funzionalità con restrizioni backgroundSpatialPerception consente a un'applicazione di accedere allo spostamento dei controller di testa, mani, movimento e altri oggetti rilevati dall'utente mentre l'app è in esecuzione in background.
Accesso all'interfaccia utente L'accesso all'interfaccia utente è una funzionalità di Windows che consente a determinate applicazioni attendibili di interagire con l'interfaccia utente (user interface, UI) di altre applicazioni, anche quando sono in esecuzione con privilegi più elevati o in una sessione di desktop protetta. Questa funzionalità viene spesso usata dagli strumenti di accessibilità e dal software di automazione per offrire agli utenti modi alternativi di interagire con le applicazioni. La funzionalità con restrizioni uiAccess deve essere specificata quando l'attributo uiAccess dell'elemento requestedExecutionLevel è impostato su true nel file manifest dell'app. Per altre informazioni, vedere Considerazioni relative alla sicurezza per le tecnologie per l'accessibilità.

Funzionalità personalizzate

La sezione precedente relativa alle funzionalità con restrizioni descrive lo stesso processo di approvazione delle funzionalità che puoi usare per richiedere l'approvazione per l'uso di una funzionalità personalizzata. Le API SIM incorporata sono esempi di API che richiedono una funzionalità personalizzata. Se vuoi solo eseguire l'applicazione localmente in modalità sviluppatore, non necessiti della funzionalità personalizzata, ma ne hai bisogno per pubblicare la tua app su Microsoft Store, o per eseguirla al di fuori della modalità sviluppatore.

Se hai un Windows Technical Account Manager (TAM) di riferimento, puoi richiedere l'accesso tramite il TAM. Per altre informazioni, vedi Contattare il proprio Microsoft TAM.

Per dichiarare una funzionalità personalizzata, modifica il file di origine del manifesto del pacchetto dell'app (Package.appxmanifest). Aggiungi la dichiarazione dello spazio dei nomi XML xmlns:uap4 e usa il prefisso uap4 quando dichiari la funzionalità personalizzata. Ecco un esempio.

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

Nota

Tutti gli elementi CustomCapability devono seguire gli elementi Capability e precedere gli elementi DeviceCapability nel nodo Capabilities all'interno del manifesto del pacchetto.

Scenario funzionalità Utilizzo funzionalità
Gestore URI app Un'app può registrarsi come gestore per un determinato URI, in modo che quando l'utente apre un collegamento all'URI specificato, viene avviata l’app invece di aprire il browser. Ciò richiede la registrazione nel computer locale e la verifica da parte del server Web di destinazione. La funzionalità personalizzata Microsoft.delegatedWebFeatures_8wekyb3d8bbwe consente a un'app di ospitare un'app Web progressiva (PWA) e di verificare tale PWA come gestore URI dell'app senza fare riferimento al sito Web di destinazione per la conferma.
Configurazione SAR cellulare La funzionalità personalizzata Microsoft.cellularSARConfiguration_8wekyb3d8bbwe consente a un'app di eseguire la configurazione delle proprietà di assorbimento specifiche di un dispositivo. Consultare la classe MobileBroadbandSarManager.
Attivazione di CoreApplication Un'app che dichiara che la funzionalità personalizzata Microsoft.coreAppActivation_8wekyb3d8bbwe è basata su CoreApplication, ma richiede l'esecuzione con attendibilità totale, simile a un'app Desktop Bridge.
Azioni di installazione personalizzata Consente all'app di eseguire attività di installazione/disinstallazione personalizzate. Un'app può usare azioni personalizzate se ha la funzionalità personalizzataInstallActions con restrizioni AND (si tratta di un'app XBOX Game Pass MSIXVC oppure ha la funzionalità personalizzata Microsoft.classicAppInstaller_8wekyb3d8bbwe).
Gestione di eSim La funzionalità personalizzata Microsoft.eSIMManagement_8wekyb3d8bbwe consente a un'app di eseguire la configurazione della SIM incorporata (eSIM) di un dispositivo. Consultare la classe ESim.
Comportamenti di installazione legacy La funzionalità personalizzata Microsoft.classicAppCompat_8wekyb3d8bbwe protegge nel caso in cui un'app dichiara una funzionalità di installazione legacy, ad esempio la scrittura di progId COM personalizzati nel Registro di sistema di Windows.
Installazione a livello di computer Protegge nel caso in cui un'app dichiara una funzionalità di installazione legacy configurata per la registrazione a livello di computer/HKLM, che richiede l'aumento dei privilegi. Specificamente richiesta per qualsiasi elemento nel manifesto dell'app in cui l'app dichiara Scope="machine".

Ad esempio, un'app basata su MSIX che usa l'elemento desktop7:ApprovedShellExtension deve impostare l'ambito sul computer e quindi deve dichiarare la funzionalità personalizzata. Microsoft.classicAppCompatElevated_8wekyb3d8bbwe. Per altre informazioni su questo scenario, consulta desktop7:ApprovedShellExtension.
Rete on demand La funzionalità personalizzata Microsoft.onDemandHotspotControl_8wekyb3d8bbwe (funzionalità di rete on demand) verrà resa disponibile solo per gli sviluppatori di app che creano scenari hotspot Wi-Fi end-to-end tra un dispositivo hardware con supporto per tethering e un PC Windows. Consultare la classe WiFiOnDemandHotspotNetwork.
Registrazione di un'estensione della shell approvata Consultare lo scenario di funzionalità Installazione a livello di computer.
Modalità S Un'app che dichiara che verrà impedita l'esecuzione della funzionalità personalizzata Microsoft.requiresNonSMode_8wekyb3d8bbwe su un dispositivo Windows in modalità S.
App di avvio Un'app può essere configurata per l'avvio automatico all'accesso dell’utente. In genere, l'utente può abilitare o disabilitare tale comportamento per ogni app. La funzionalità personalizzata Microsoft.nonUserConfigurableStartupTasks_8wekyb3d8bbwe configura un'app in modo che l'utente non possa abilitare o disabilitare il comportamento di avvio.
Windows core 1 Un'app che dichiara che la funzionalità personalizzata Microsoft.deployFullTrustOnHost_8wekyb3d8bbwe è completamente attendibile per l'uso di API Win32 nativo in un dispositivo Windows core.
Windows core 2 Un'app Desktop Bridge che dichiara che la funzionalità personalizzata Microsoft.notSupportedInCoreV1_8wekyb3d8bbwe non potrà essere eseguita in un dispositivo Windows core.
Framework del dispositivo complementare Windows Hello La funzionalità correlata alla funzionalità personalizzata Microsoft.secondaryAuthenticationFactorForLogon_8wekyb3d8bbwe è deprecata a partire da Windows 10 versione 2004 (10.0; Build 19041) e questa funzionalità non viene più concessa agli account per sviluppatori. Un'app che dichiara che questa funzionalità può essere registrata con il framework del dispositivo complementare per abilitare lo sblocco di Windows con il dispositivo complementare associato dell'app. Per altre info, consultare Sblocco di Windows con dispositivi complementari Windows Hello (IoT).