Declarações de funcionalidades do app

Observação

Algumas informações relacionam-se ao produto de pré-lançamento, o qual poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não oferece nenhuma garantia, explícita ou implícita, quanto às informações fornecidas aqui.

A que tipos de aplicativos as capacidades do aplicativo se aplicam?

A maioria dos cenários para capacidades de aplicativos é relevante apenas para aplicativos que têm identidade de pacote e que são executados em um AppContainer. Todos os aplicativos UWP atendem a esses critérios; portanto, as capacidades se aplicam a eles. Mas também é possível dar a um pacote do aplicativo de desktop uma identidade e configurá-lo como um aplicativo AppContainer. Portanto, as capacidades também se aplicam a alguns aplicativos de desktop.

Um aplicativo de desktop do Windows que seja um aplicativo AppContainer pode ser identificado por uap10:TrustLevel="appContainer" no seu manifesto do pacote do aplicativo (para obter mais informações, consulte Aplicativo (Windows 10)). Da mesma forma, um aplicativo de desktop com mediumIL (um nível de integridade médio) tem uap10:TrustLevel="mediumIL". Os aplicativos de Nível de Integridade Médio, que também são conhecidos como aplicativos de confiança total, não são executados em um AppContainer.

Os recursos internetClient e enterpriseAuthentication concedem a um aplicativo a capacidade de realizar determinadas operações que o usuário já pode fazer. Portanto, esses são exemplos de capacidades que se aplicam apenas aos aplicativos AppContainer. Em contrapartida, um aplicativo com Nível de Integridade Médio já está sendo executado como o usuário; portanto, um aplicativo desse tipo já pode realizar essas operações sem necessitar dessas capacidades.

Mas existem alguns cenários em que um aplicativo do Nível de Integridade Médio também deve declarar uma capacidade. De fato, um aplicativo de Nível de Integridade Médio precisa declarar a capacidade restrita runFullTrust. E, para poder registrar servidores COM fora do processo para comunicação entre processos (IPC), um aplicativo empacotado precisa de runFullTrust. Esse recurso é conhecido como COM empacotado (para obter mais informações, consulte a postagem no blog Servidor COM e suporte a documentos OLE para a Ponte de Desktop).

Para obter informações sobre outro cenário que se aplica até mesmo a aplicativos de Nível de Integridade Médio, consulte Capacidades sensíveis à privacidade neste tópico.

Você pode determinar se o manifesto do pacote do seu aplicativo precisa de runFullTrust simplesmente compilando o pacote. Makeappx.exe validará o esquema e, se runFullTrust não estiver declarado, mas algo precisar dele, você verá uma mensagem de erro detalhada, incluindo o problema, juntamente com os números da linha e da coluna.

Declaração de capacidades

Se você deseja acessar determinadas APIs ou recursos (como imagens ou músicas), ou dispositivos (como a câmera ou o microfone), deve declarar as capacidades apropriadas do aplicativo no manifesto do pacote do seu aplicativo Windows

Você pode declarar recursos gerais utilizando o Designer de Manifesto no Visual Studio ou pode adicioná-los manualmente. Para obter mais informações, consulte Como fazer para especificar as capacidades em um manifesto do pacote. É importante saber que, quando os clientes obtêm seu aplicativo na Microsoft Store, eles são notificados de todas as capacidades que o aplicativo declara. Portanto, certifique-se de declarar apenas as capacidades de que seu aplicativo precisa.

Capacidades sensíveis à privacidade

Um recurso confidencial é um recurso que pode acessar os dados pessoais do usuário ou custar-lhe dinheiro. Neste tópico, as capacidades que fornecem aos aplicativos acesso a um recurso confidencial estão anotadas por um asterisco (*) na coluna Cenário de capacidades.

As capacidades sensíveis à privacidade sinalizam para o sistema operacional (SO), e para o usuário, o que o aplicativo pretende fazer. Como é bom enviar esse sinal para os usuários do seu aplicativo, recomendamos que declare capacidades sensíveis à privacidade mesmo para aplicativos de Nível de Integridade Médio (em que a identidade do aplicativo é utilizada para fornecer alternâncias de privacidade individuais). Isso permite que esses aplicativos sejam gerenciados nas páginas de configurações de privacidade (gerenciadas pelo aplicativo Configurações do Windows ) assim que estiverem instalados; e não posteriormente, quando acessam recursos sensíveis à privacidade.

Essas configurações de privacidade permitem que o usuário controle dinamicamente o acesso a recursos confidenciais. Portanto, é importante que seu aplicativo não presuma que um recurso confidencial esteja sempre disponível. Para obter mais informações de como acessar recursos confidenciais, confira Segurança.

Diferentes tipos de capacidades

Existem vários tipos de capacidades.

Funcionalidades de uso geral

As funcionalidades de uso geral são especificadas usando elementos Capability no manifesto do pacote do aplicativo. Essas funcionalidades se aplicam à maioria dos cenários de aplicativo mais comuns.

Observação

Todos os elementos Capability devem preceder os elementos CustomCapability e DeviceCapability no nó Capabilities do manifesto do pacote.

Cenário da funcionalidade Uso da funcionalidade
Música* A funcionalidade musicLibrary fornece acesso programático à biblioteca de músicas do usuário, permitindo que o aplicativo enumere e acesse todos os arquivos da biblioteca sem interação do usuário. Em geral, essa funcionalidade é usada em aplicativos de jukebox que usam a biblioteca Música inteira.

O seletor de arquivos fornece um mecanismo robusto de interface do usuário com o qual os usuários podem abrir arquivos a serem usados em um aplicativo. Declare a funcionalidade musicLibrary apenas quando os cenários do seu aplicativo exigirem acesso programático e não for possível efetivá-los usando o seletor de arquivos.

A funcionalidade musicLibrary deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><uap:Capability Name="musicLibrary"/></Capabilities>
Imagens* A funcionalidade picturesLibrary fornece acesso programático à biblioteca de imagens do usuário, permitindo que o aplicativo enumere e acesse todos os arquivos da biblioteca sem interação do usuário. Tipicamente, essa funcionalidade é usada em aplicativos de foto que utilizam toda a biblioteca Imagens.

O seletor de arquivos fornece um mecanismo robusto de interface do usuário com o qual os usuários podem abrir arquivos a serem usados em um aplicativo. Declare a funcionalidade picturesLibrary apenas quando os cenários do seu aplicativo exigirem acesso programático e não for possível efetivá-los usando o seletor de arquivos.

A funcionalidade picturesLibrary deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><uap:Capability Name="picturesLibrary"/></Capabilities>
Vídeos* A funcionalidade videosLibrary oferece acesso programático aos Vídeos do usuário, permitindo que o aplicativo enumere e acesse todos os arquivos na biblioteca sem a interação do usuário. Em geral, essa funcionalidade é usada em aplicativos de reprodução de filmes que usam a biblioteca Vídeos inteira.

O seletor de arquivos fornece um mecanismo robusto de interface do usuário com o qual os usuários podem abrir arquivos a serem usados em um aplicativo. Declare a funcionalidade videosLibrary apenas quando os cenários do seu aplicativo exigirem acesso programático e não for possível efetivá-los usando o seletor de arquivos.

A funcionalidade videosLibrary deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><uap:Capability Name="videosLibrary"/></Capabilities>
Armazenamento removível A funcionalidade removableStorage dá acesso programático a arquivos em armazenamento removível, como pen drives USB e discos rígidos externos, filtrados de acordo com as associações de tipo de arquivo declaradas no manifesto do pacote. Por exemplo, se um aplicativo leitor de documentos declarar uma associação de tipo de arquivo .doc, ele poderá abrir arquivos .doc no dispositivo de armazenamento removível, mas não outros tipos de arquivos. Tenha cautela ao declarar essa funcionalidade, pois os usuários podem incluir várias informações em seus dispositivos de armazenamento removível, além de esperarem que seu aplicativo forneça uma justificativa válida para o acesso programático a esse armazenamento removível para todos os arquivos do tipo declarado.

Os usuários esperam que seu aplicativo lide com qualquer associação de arquivo que você declarar. Portanto, não declare associações de arquivos com as quais seu aplicativo não possa lidar de maneira responsável. O seletor de arquivos fornece um mecanismo robusto de interface do usuário com o qual os usuários podem abrir arquivos a serem usados em um aplicativo.

Declare a funcionalidade removableStorage apenas quando os cenários do seu aplicativo exigirem acesso programático e não for possível efetivá-los usando o seletor de arquivos.

A funcionalidade removableStorage deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><uap:Capability Name="removableStorage"/></Capabilities>
Internet e redes públicas* Há duas funcionalidades que oferecem níveis diferentes de acesso à Internet e às redes públicas.

A funcionalidade internetClient indica que os aplicativos podem receber dados de entrada da Internet. Não pode atuar como um servidor. Sem acesso à rede local.
A funcionalidade internetClientServer indica que os aplicativos podem receber dados de entrada da Internet. Pode atuar como um servidor. Sem acesso à rede local.

A maioria dos aplicativos que têm um componente de serviço da Web usará internetClient. Aplicativos que ativam cenários ponto a ponto (P2P), em que o aplicativo precisa ser ouvido para conexões de rede de entrada, devem usar internetClientServer. A funcionalidade internetClientServer inclui o acesso que a funcionalidade internetClient fornece, portanto, você não precisa especificar internetClient ao especificar internetClientServer.
Redes domésticas e corporativas* A funcionalidade privateNetworkClientServer dá acesso de entrada e saída a redes domésticas e corporativas através do firewall. Essa funcionalidade é normalmente usada para jogos que se comunicam pela rede local e para aplicativos que compartilham dados em diversos dispositivos locais. Se o seu aplicativo especificar musicLibrary, picturesLibrary ou videosLibrary, você não precisará usar essa funcionalidade para acessar a biblioteca correspondente em um Grupo Doméstico. No Windows, essa funcionalidade não oferece acesso à Internet.
Compromissos A funcionalidade appointments fornece acesso ao repositório de compromissos do usuário. Essa funcionalidade concede acesso de leitura aos compromissos obtidos das contas de rede sincronizadas e a outros aplicativos que gravam no repositório de compromissos. Com essa funcionalidade, seu aplicativo cria novos calendários e grava compromissos neles.

A funcionalidade appointments deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><uap:Capability Name="appointments"/></Capabilities>
Contatos* A funcionalidade contacts dá acesso à exibição agregada dos contatos de vários repositórios de contatos. Essa funcionalidade permite o acesso limitado do aplicativo (regras de permissão de rede são aplicadas) aos contatos que foram sincronizados de várias redes e ao repositório de contatos local.

A funcionalidade contacts deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><uap:Capability Name="contacts"/></Capabilities>
Geração de código A funcionalidade codeGeneration permite que aplicativos acessem as funções a seguir que oferecem funcionalidades JIT para aplicativos.

VirtualProtectFromApp
CreateFileMappingFromApp
OpenFileMappingFromApp
MapViewOfFileFromApp
AllJoyn A funcionalidade allJoyn permite que aplicativos e dispositivos habilitados para AllJoyn em uma rede descubram e interajam entre si.

Todos os aplicativos que acessam APIs no namespace Windows.Devices.AllJoyn devem usar essa funcionalidade.
Chamadas telefônicas A funcionalidade phoneCall permite que os aplicativos acessem todas as linhas de telefone no dispositivo e executem as seguintes funções.
  • Fazer uma chamada na linha telefônica e mostrar o teclado numérico do sistema sem avisar o usuário.
  • Acessar metadados relacionados à linha.
  • Acessar gatilhos relacionados à linha.
  • Permite que o aplicativo de filtro de spam selecionado pelo usuário defina e verifique a lista de bloqueios e informações de origem das chamadas.
A funcionalidade phoneCall deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

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

A funcionalidade phoneCallHistoryPublic permite que os aplicativos leiam informações de histórico de chamadas de celular e de algumas chamadas VoIP no dispositivo. Essa funcionalidade também permite que o aplicativo grave entradas de histórico de chamadas VoIP. Essa funcionalidade é necessária para acessar todos os membros da classe PhoneCallHistoryStore.
Pasta Chamadas Gravadas* A funcionalidade do dispositivo recordedCallsFolder permite que aplicativos acessem a pasta de chamadas gravadas.

A funcionalidade recordedCallsFolder deve incluir o namespace mobile quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><mobile:Capability Name="recordedCallsFolder"/></Capabilities>
Informações de conta do usuário* A funcionalidade userAccountInformation dá aos aplicativos a capacidade de acessar o nome e a imagem do usuário.

Essa funcionalidade é necessária para acessar algumas APIs no namespace Windows.System.UserProfile.

A funcionalidade userAccountInformation deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><uap:Capability Name="userAccountInformation"/></Capabilities>
Chamadas VoIP A funcionalidade voipCall permite que os aplicativos acessem as APIs de chamadas VoIP no namespace Windows.ApplicationModel.Calls.

A funcionalidade voipCall deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><uap:Capability Name="voipCall"/></Capabilities>
Objetos 3D A funcionalidade objects3D permite que os aplicativos tenham acesso programático a arquivos de objetos 3D. Em geral, essa funcionalidade é usada em jogos e aplicativos 3D que precisam acessar toda a biblioteca de objetos 3D.

Essa funcionalidade é obrigatória para acessar a pasta que contém os objetos 3D usando APIs no namespace Windows.Storage.

A funcionalidade objects3D deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><uap:Capability Name="objects3D"/></Capabilities>
Acesso a mensagem de chat* A funcionalidade chat permite que os aplicativos leiam e excluam mensagens SMS e MMS. Também permite que os aplicativos armazenem mensagens de chat no armazenamento de dados do sistema.

Essa funcionalidade é obrigatória para acessar as mensagens usando APIs no namespace Windows.ApplicationModel.Chat.

A funcionalidade chat deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><uap:Capability Name="chat"/></Capabilities>
Ler mensagens bloqueadas* A funcionalidade blockedChatMessages permite que os aplicativos leiam mensagens de SMS e MMS bloqueadas pelo aplicativo Filtro de Spam.

Essa funcionalidade é obrigatória para acessar as mensagens bloqueadas usando APIs no namespace Windows.ApplicationModel.Chat.

A funcionalidade blockedChatMessages deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><uap:Capability Name="blockedChatMessages"/></Capabilities>
Dispositivos personalizados A funcionalidade lowLevelDevices permite que os aplicativos acessem dispositivos personalizados quando alguns requisitos adicionais são atendidos. Não confunda com a funcionalidade de dispositivo lowLevel, que permite acessar dispositivos GPIO, I2C, SPI e PWM.

Se desenvolver um driver personalizado que expõe uma interface de dispositivo e quiser abrir um identificador para esse dispositivo e enviar IOCTLs, você deverá: Em seguida, você use Windows.Devices.Custom.CustomDevice para abrir um identificador para o dispositivo. Para obter mais informações, confira Aplicativos de dispositivo UWP para dispositivos internos.
Administração de sistema de IoT A funcionalidade systemManagement permite que os aplicativos tenham privilégios de administração de sistema básicos, como desligar ou reiniciar, localidade e fuso horário.

Essa funcionalidade é necessária para acessar algumas APIs no namespace Windows.System.

A funcionalidade systemManagement deve incluir o namespace iot quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><iot:Capability Name="systemManagement"/></Capabilities>
Reprodução de mídia em segundo plano A funcionalidade backgroundMediaPlayback altera o comportamento das APIs específicas para mídia como as classes MediaPlayer e AudioGraph para habilitar a reprodução de mídia enquanto seu aplicativo está em segundo plano. Todos os streams de áudio ativos não serão silenciados, mas continuarão sendo audíveis quando houver a transição de um aplicativo para o segundo plano. Além disso, o tempo de vida do aplicativo será estendido automaticamente enquanto ocorre a reprodução.
Sistema remoto A funcionalidade remoteSystem permite que os aplicativos tenham acesso a uma lista de dispositivos associados à Conta da Microsoft do usuário. O acesso à lista de dispositivos é necessário para realizar operações que persistem em dispositivos. Essa funcionalidade é necessária para acessar todos os membros a seguir.
Percepção espacial A funcionalidade spatialPerception dá acesso programático a dados de mapeamento espacial, fornecendo a aplicativos de realidade misturada informações sobre as superfícies de regiões especificadas pelo aplicativo no espaço próximo ao usuário. Declare a funcionalidade spatialPerception somente quando o aplicativo usar essas malhas de superfície explicitamente, pois ela não é necessária para que aplicativos de realidade misturada façam renderização holográfica com base na pose da cabeça do usuário.
Controle de mídia global A funcionalidade globalMediaControl permite que os aplicativos acessem sessões de reprodução em todo o sistema integradas aos SystemMediaTransportControls, a fim de fornecer informações sobre a reprodução e permitir o controle remoto. Essa funcionalidade é necessária para usar algumas APIs no namespace Windows.Media.Control. Ela é definida no elemento uap7:Capability.
Captura de Gráficos A capacidade graphicsCapture permite que os aplicativos tirem capturas de tela de janelas ou exibições quando permitidos pelo usuário. Essa capacidade é necessária para usar o objeto Windows.Graphics.Capture.GraphicsCapturePicker. Ela é definida no elemento uap6:Capability.
Captura de gráficos sem borda A capacidade graphicsCaptureWithoutBorder permite que os aplicativos tirem capturas de tela sem mostrar uma borda de captura de tela ao redor da janela ou exibição. Essa capacidade é necessária para usar a propriedade Windows.Graphics.Capture.GraphicsCaptureSession.IsBorderRequired. Ela é definida no elemento uap11:Capability.
Captura de gráficos programáticos A capacidade graphicsCaptureProgrammatic permite que os aplicativos tirem capturas de tela de janelas ou exibições sozinhos. Essa capacidade é necessária para criar um objeto Windows.Graphics.Capture.GraphicsCaptureItem de WindowId ou DisplayId. Ela é definida no elemento uap11:Capability.
Tarefas de dados do usuário O recurso userDataTasks fornece acesso a APIs no namespace Windows.ApplicationModel.UserDataTasks, que fornecem acesso aos itens de tarefa armazenados no Windows por conexões do Exchange ActiveSync (EAS) e outros aplicativos do provedor.
Ouvinte de notificação do usuário O recurso userNotificationListener fornece acesso a APIs no namespace Windows.UI.Notifications.Management, que permitem o gerenciamento de notificações do usuário.

Funcionalidades de dispositivo

As funcionalidades de dispositivo permitem que o aplicativo acesse dispositivos periféricos e internos. As funcionalidades de dispositivo são especificadas usando elementos DeviceCapability no manifesto do pacote do aplicativo. Esse elemento pode exigir elementos filho adicionais e algumas funcionalidades de dispositivo precisam ser acrescentadas manualmente ao manifesto do pacote. Para obter mais informações, consulte Como especificar as funcionalidades do dispositivo em um manifesto do pacote e Referência de esquema DeviceCapability.

Observação

Você pode ter vários elementos DeviceCapability no elemento Capabilities no manifesto do pacote. Todos os elementos DeviceCapability devem vir após os elementos Capability e CustomCapability.

Cenário da funcionalidade Uso da funcionalidade
Localização* A funcionalidade localização dá acesso a funcionalidade de localização que é recuperada de hardware dedicado, como um sensor de GPS no computador ou é derivado de informações de rede disponíveis. Os aplicativos devem tratar o caso no qual o usuário desabilitou serviços de localização no botão Configurações.
Microfone A funcionalidade microphone fornece acesso ao feed de áudio do microfone, o qual permite que o aplicativo registre o áudio de microfones conectados. Os aplicativos devem tratar o caso no qual o usuário desabilitou o microfone no botão Configurações.
Proximidade A funcionalidade proximidade permite que vários dispositivos próximos se comuniquem entre eles. Essa funcionalidade costuma ser usada em jogos casuais de vários jogadores e em aplicativos que trocam informações. Os dispositivos tentam usar a tecnologia de comunicação que oferece a melhor conexão possível, incluindo Bluetooth, Wi-Fi e a Internet. Essa funcionalidade é usada para iniciar a comunicação entre os dispositivos.
Webcam A funcionalidade webcam dá acesso ao feed de vídeo de uma câmera interna ou uma webcam externa, o que permite que o aplicativo capture fotos e vídeos. No Windows, os aplicativos devem tratar o caso no qual o usuário desabilitou a câmera no botão Configurações.
A funcionalidade webcam concede acesso somente ao stream de vídeo. Para conceder acesso ao stream de áudio também, a funcionalidade microphone deve ser adicionada.
USB A funcionalidade do dispositivo usb habilita o acesso às APIs em Updating the app manifest package for a USB device.
HID (Dispositivos de Interface Humana) A funcionalidade do dispositivo humaninterfacedevice habilita o acesso às APIs em How to specify device capabilities for HID.
POS (Ponto de Serviço) A funcionalidade do dispositivo pointOfService habilita o acesso a APIs no namespace Windows.Devices.PointOfService. Esse namespace permite que o aplicativo acesse scanners de código de barras de Ponto de Serviço (POS) e leitores de tarja magnética. O namespace oferece uma interface neutra em termos do fornecedor para acessar dispositivos de POS de diversos fabricantes em um aplicativo UWP.
Bluetooth A funcionalidade do dispositivo bluetooth permite que os aplicativos se comuniquem com dispositivos bluetooth já emparelhados usando os protocolos GATT (Atributo Genérico) ou RFCOMM Taxa Básica Clássica).
Essa funcionalidade é necessária para usar algumas APIs no namespace Windows.Devices.Bluetooth.
Rede Wi-Fi IMPORTANTE. A funcionalidade do dispositivo wiFiControl terá o comportamento do sistema operacional afetado nas próximas alterações, previstas para o outono de 2024. Para obter mais informações, consulte Alterações no comportamento da API para acesso e localização do Wi-Fi.

A funcionalidade do dispositivo wiFiControl permite que os aplicativos digitalizem e se conectem a redes Wi-Fi.
Essa funcionalidade é necessária para usar algumas APIs no namespace Windows.Devices.WiFi.
Estado do rádio A funcionalidade do dispositivo radios permite que os aplicativos ativem/desativem os rádios Wi-Fi e Bluetooth.
Essa funcionalidade é necessária para usar as APIs no namespace Windows.Devices.Radios.
Disco óptico A funcionalidade do dispositivo optical permite que os aplicativos acessem funções em unidades de disco óptico, como CD, DVD e Blu-ray.
Essa funcionalidade é necessária para usar algumas APIs no namespace Windows.Devices.Custom.
Atividade de movimento A funcionalidade do dispositivo activity permite que os aplicativos detectem o movimento atual do dispositivo.
Essa funcionalidade é necessária para usar algumas APIs no namespace Windows.Devices.Sensors.
Detecção de presença A funcionalidade de dispositivo humanPresence permite que os aplicativos acessem Sensores de Presença no dispositivo, que podem fornecer informações sobre a presença e o engajamento do usuário.
Essa funcionalidade é necessária para usar algumas APIs no namespace Windows.Devices.Sensors.
Comunicação serial A funcionalidade de dispositivo serialcommunication fornece acesso a APIs no namespace Windows.Devices.SerialCommunication, o que permite que um aplicativo do Windows se comunique com um dispositivo que expõe uma porta serial ou alguma abstração de uma porta serial. Essa funcionalidade é necessária para usar as APIs no namespace Windows.Devices.SerialCommnication.
Rastreador ocular A funcionalidade gazeInput permite que os aplicativos detectem para onde o usuário está olhando dentro dos limites do aplicativo quando um dispositivo de acompanhamento ocular compatível está conectado ou para dispositivos de Realidade Misturada compatíveis com acompanhamento de foco. Essa funcionalidade é necessária para usar algumas APIs no namespace Windows.Devices.Input.Preview. Para dispositivos de Realidade Misturada, essa funcionalidade é necessária para APIs no Windows.Perception.People.EyesPose.
GPIO, I2C, SPI e PWM A funcionalidade de dispositivo lowLevel fornece acesso a dispositivos GPIO, I2C, SPI e PWM. Essa funcionalidade é necessária para usar as APIs nos seguintes namespaces: Windows.Devices.Gpio, Windows.Devices.I2c, Windows.Devices.Spi,Windows.Devices.Pwm.

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

Funcionalidades restritas

Se o aplicativo declarar alguma funcionalidade restrita, você precisará fornecer informações durante o processo de envio do aplicativo para ser aprovado para publicá-lo na Microsoft Store. Forneça essas informações na página Opções de envio ao fazer seu envio, explicando como o aplicativo usa cada funcionalidade restrita declarada.

Importante

As funcionalidades restritas foram desenvolvidas para cenários muito específicos. O uso dessas funcionalidades é altamente restrito e sujeito a políticas e análises adicionais de carregamento da Loja. Observe que você pode fazer sideload de aplicativos que declaram funcionalidades restritas sem precisar de nenhuma aprovação. A aprovação é necessária apenas ao enviar esses aplicativos para a Store.

Não declare essas funcionalidades restritas a menos que o aplicativo realmente precise delas. Há casos em que essas funcionalidades são necessárias e apropriadas, como em transações bancárias com autenticação de dois fatores, em que os usuários fornecem um cartão inteligente com um certificado digital que confirma suas identidades. Outros aplicativos podem ser projetados principalmente para clientes corporativos e talvez precisem de acesso a recursos corporativos que não podem ser acessados sem as credenciais de domínio do usuário.

Para declarar uma funcionalidade restrita, modifique o arquivo de origem (Package.appxmanifest) do manifesto do pacote do aplicativo. Adicione a declaração de namespace de XML xmlns:rescap e use o prefixo rescap ao declarar a funcionalidade restrita. Por exemplo, veja como declarar a funcionalidade 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>

Observação

Todos os elementos de funcionalidade restrita devem preceder os elementos CustomCapability e DeviceCapability no nó Capabilities do manifesto do pacote.

Processo de aprovação de funcionalidade restrita

Anteriormente, era necessário entrar em contato com o suporte para obter aprovação para usar uma funcionalidade. Agora, permitimos que você forneça essas informações na Central de Parceiros como parte do processo de envio.

Quando você carregar pacotes para o envio, nós detectaremos se alguma funcionalidade restrita ou está declarada. Se nós detectarmos, você precisará fornecer detalhes sobre como o produto usa cada funcionalidade na página Opções de envio. Forneça o máximo de detalhes possível para nos ajudar a entender por que o produto precisa declarar a funcionalidade. Observe que isso pode adicionar algum tempo ao processo de certificação de seu envio.

Durante o processo de certificação, nossos testadores examinarão as informações fornecidas para determinar se o envio será aprovado para usar a funcionalidade. Observe que isso pode adicionar algum tempo ao processo de certificação de seu envio. Se aprovarmos o uso da funcionalidade, seu aplicativo prosseguirá para o restante do processo de certificação. Normalmente, você não precisa repetir o processo de aprovação de funcionalidade quando envia atualizações do aplicativo (a menos que declare funcionalidades adicionais).

Se não aprovarmos o uso da funcionalidade, a certificação do envio falhará e nós forneceremos comentários no relatório de certificação. Você terá, então, a opção de criar outro envio e carregar pacotes que não declaram a funcionalidade ou, se aplicável, de resolver problemas relacionados ao uso da funcionalidade e solicitar a aprovação em um novo envio.

Observação

Se o envio usar uma área restrita de desenvolvimento na Central de Parceiros (esse é, por exemplo, o caso de todos os jogos que se integram ao Xbox Live), você precisará solicitar aprovação antecipadamente, em vez de fornecer informações na página Opções de envio. Para fazer isso, visite a página de suporte para desenvolvedores do Windows. Selecione o tópico de suporte para desenvolvedores Problema no painel, o tipo de problema Envios de aplicativos e a subcategoria Outros. Em seguida, descreva como você está usando a funcionalidade e por que ela é necessária para seu produto. Se você não fornecer todas as informações necessárias, sua solicitação será negada. Também pode ser solicitado que você forneça mais informações. Observe que esse processo geralmente leva 5 dias úteis ou mais, portanto, envie a solicitação com bastante antecedência.

Você também poderá usar esse método de solicitação de aprovação (em vez de fornecer as informações durante o envio), esteja ou não usando uma área restrita de desenvolvimento, se preferir confirmar que tem aprovação para usar uma funcionalidade restrita antes de iniciar o envio.

Lista de funcionalidades restritas

A tabela a seguir lista as funcionalidades restritas. Solicite aprovação para usar essas funcionalidades em aplicativos enviados à Store seguindo o processo descrito acima.

Importante

Algumas dessas funcionalidades quase nunca são aprovadas para aplicativos enviados à Store, exceto em circunstâncias muito específicas e limitadas. Essas funcionalidades são destacadas na tabela a seguir. Recomendamos que você não declare essas funcionalidades no aplicativo se pretender distribuí-lo por meio da Store.

Cenário da funcionalidade Uso da funcionalidade
Empresa As credenciais de domínio do Windows habilitam um usuário a fazer logon em recursos remotos usando suas credenciais e a agir como se um usuário tivesse fornecido os respectivos nome de usuário e senha. A funcionalidade enterpriseAuthentication normalmente é usada em aplicativos de linha de negócios que se conectam a servidores de uma empresa.

Você não precisa dessa funcionalidade para comunicação genérica pela Internet.

A funcionalidade enterpriseAuthentication tem a finalidade de dar suporte a aplicativos de linha de negócios comuns. Não a declare em aplicativos que não precisam de acesso a recursos corporativos. O seletor de arquivos oferece um mecanismo de interface do usuário robusto que permite que os usuários abram arquivos em um compartilhamento de rede network para uso com um aplicativo. Declare a funcionalidade enterpriseAuthentication somente quando os cenários do aplicativo exigirem acesso programático e você não puder fazer isso usando o seletor de arquivos.

A funcionalidade enterpriseAuthentication deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

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

Essa funcionalidade é necessária para chamar a função GetUserNameEx.

A funcionalidade enterpriseDataPolicy permite que os aplicativos manipulem dados corporativos separadamente e com segurança quando o aplicativo é gerenciado com a política de Proteção de Informações do Windows (por exemplo: sistemas de Gerenciamento de dispositivo móvel e Gerenciamento de aplicativo móvel). Declare essa funcionalidade restrito da maneira mostrada abaixo.

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

Essa funcionalidade é necessária para usar todos os membros das classes a seguir.
Certificados de usuário compartilhados A funcionalidade sharedUserCertificates permite que um aplicativo adicione e acesse certificados baseados em software e hardware no repositório Usuário Compartilhado, como certificados armazenados em um cartão inteligente. Essa funcionalidade geralmente é usada em aplicativos corporativos ou financeiros que exigem um cartão inteligente para autenticação.

A funcionalidade sharedUserCertificates deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><uap:Capability Name="sharedUserCertificates"/></Capabilities>
Documentos* A funcionalidade documentsLibrary fornece acesso programático à biblioteca de documentos do usuário, filtrada de acordo com as associações de tipo de arquivo declaradas no manifesto do pacote. Por exemplo, se um aplicativo de processamento de texto declarou uma associação de tipo de arquivo .doc, ele pode abrir arquivos .doc na biblioteca de documentos do usuário.

A funcionalidade documentsLibrary será necessária apenas se o aplicativo acessar a biblioteca de Documentos programaticamente sem intervenção do usuário. O seu aplicativo não precisará da funcionalidade documentsLibrary para acessar a biblioteca de Documentos se o usuário a escolher com uma API de seletor. De modo geral, os aplicativos devem permitir que o usuário escolha a localização dos seus arquivos usando uma das seguintes APIs de seletor: O uso dessas APIs permite que o usuário escolha a localização que funciona melhor para ele, como uma conta sincronizada com a nuvem (por exemplo, OneDrive). Após o usuário escolher um arquivo ou pasta usando essas APIs, o aplicativo poderá obter acesso contínuo à localização usando a API FutureAccessList. Essa API permite que o aplicativo acesse os arquivos ou pastas no futuro sem solicitar que o usuário os escolha novamente.

Nos casos em que os fluxos de trabalho existentes presumem que os arquivos estarão na biblioteca de documentos (por exemplo, no caso de interoperabilidade com um aplicativo da área de trabalho existente) ou em que você não quer que o usuário precise escolher a localização, você pode declarar a funcionalidade documentsLibrary para o aplicativo. Se você usar a funcionalidade documentsLibrary para o aplicativo, permita também que o usuário escolha os locais manualmente.

A funcionalidade documentsLibrary deve incluir o namespace uap quando for declarada no manifesto do pacote do aplicativo, como mostrado a seguir.

<Capabilities><uap:Capability Name="documentsLibrary"/></Capabilities>
Configurações de DVR de Jogos A funcionalidade restrita appCaptureSettings permite que os aplicativos controlem as configurações do usuário para o DVR de Jogos.

Essa funcionalidade é necessária para usar algumas APIs no namespace Windows.Media.Capture.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Celular A funcionalidade restrita cellularDeviceControl permite que os aplicativos tenham controle sobre o dispositivo celular.

A funcionalidade cellularDeviceIdentity permite que os aplicativos acessem dados de identificação da rede celular.

A funcionalidade cellularMessaging permite que os aplicativos usem SMS e RCS.

Essas funcionalidades são necessárias para usar algumas APIs no namespace Windows.Devices.Sms.
Desbloqueio de dispositivo A funcionalidade restrita deviceUnlock permite que os aplicativos desbloqueiem um dispositivo para cenários de sideload corporativo e de desenvolvedor.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Blocos de dois cartões SIM A funcionalidade restrita dualSimTiles permite que os aplicativos criem uma entrada adicional na lista de aplicativos em dispositivos com vários SIMs.

Essa funcionalidade é necessária para usar algumas APIs no namespace Windows.UI.StartScreen.
Armazenamento compartilhado corporativo A funcionalidade restrita enterpriseDeviceLockdown permite que os aplicativos usem a API de bloqueio do dispositivo e acessem as pastas de armazenamento compartilhado corporativo.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Injeção de entrada do sistema A funcionalidade restrita inputInjectionBrokered permite que os aplicativos insiram várias formas de entrada, como HID, toque, caneta, teclado ou mouse, no sistema de maneira programática. Geralmente, essa funcionalidade é usada para aplicativos de colaboração que podem assumir o controle do sistema.

Em um computador, a injeção de entrada de um aplicativo com essa funcionalidade será recebida somente por processos no mesmo contêiner de aplicativo.

<Capabilities><rescap:Capability Name="inputInjectionBrokered" /></Capabilities>
Observar entrada* A funcionalidade restrita inputObservation permite que os aplicativos observem várias formas de dados brutos, como HID, toque, caneta, teclado ou mouse, recebidas pelo sistema, independentemente de seu destino final.

Essa funcionalidade e as APIs relacionadas a ela estão disponíveis apenas para alguns parceiros da Microsoft.
Suprimir entrada A funcionalidade restrita inputSuppression permite que os aplicativos impede que várias formas de dados brutos, como HID, toque, caneta, teclado ou mouse, sejam recebidas pelo sistema independentemente de seu destino final.

Essa funcionalidade e as APIs relacionadas a ela estão disponíveis apenas para alguns parceiros da Microsoft.
Aplicativo de VPN A funcionalidade restrita networkingVpnProvider permite que os aplicativos tenham acesso total aos recursos de VPN, inclusive a capacidade de gerenciar conexões e fornecer funcionalidade de plug-in de VPN.

Essa funcionalidade é necessária para usar algumas APIs no namespace Windows.Networking.Vpn.
Gerenciamento de outro aplicativo A funcionalidade restrita packageManagement permite que os aplicativos gerenciem diretamente outros aplicativos.

A funcionalidade do dispositivo packageQuery permite que os aplicativos coletem informações de outros aplicativos.

Essas funcionalidades são necessárias para acessar alguns métodos e propriedades na classe PackageManager.
Projeção de tela A funcionalidade restrita screenDuplication permite que os aplicativos projetem a tela em outro dispositivo.

Essa funcionalidade é necessária para usar APIs no namespace DirectX.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Nome principal do usuário A funcionalidade restrita userPrincipalName permite que os aplicativos acessem o nome UPN do usuário atual.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Carteira A funcionalidade restrita walletSystem permite que os aplicativos tenham acesso completo aos cartões de carteira armazenados.

Essa funcionalidade é necessária para usar APIs no namespace Windows.ApplicationModel.Wallet.System.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Histórico de localização A funcionalidade restrita locationHistory permite que os aplicativos acessem o histórico de localização do dispositivo.

Essa funcionalidade é necessária para usar APIs no namespace Windows.Devices.Geolocation.
Confirmação de fechamento do aplicativo A funcionalidade restrita confirmAppClose permite que os aplicativos fechem a si mesmos e suas próprias janelas, e atrasem o fechamento do aplicativo.

Os aplicativos podem solicitar essa funcionalidade na versão 1703 do Windows 10 (build 10.0.15063) e em versões posteriores. Em versões anteriores do Windows 10, a funcionalidade é privada e causa uma falha na instalação do aplicativo, com a mensagem de erro "A funcionalidade solicitada não pode ser autorizada para este aplicativo."
Histórico de chamadas* A funcionalidade restrita phoneCallHistory permite que os aplicativos leiam o histórico de chamadas e excluam entradas do histórico.

Essa funcionalidade é necessária para usar APIs no namespace Windows.ApplicationModel.Chat.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Acesso de nível de compromisso do sistema A funcionalidade restrita appointmentsSystem permite que os aplicativos leiam e modifiquem todos os compromissos no calendário do usuário.

Essa funcionalidade é necessária para usar algumas APIs no namespace Windows.ApplicationModel.Appointment.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Acesso de mensagem de chat no nível de sistema* A funcionalidade restrita chatSystem permite que os aplicativos leiam e gravem todas as mensagens SMS e MMS.
Essa funcionalidade é necessária para usar APIs no namespace Windows.ApplicationModel.Chat.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Acesso de nível de contato do sistema A funcionalidade restrita contactsSystem permite que os aplicativos leiam informações de contato designadas como confidenciais ou restritas e modifiquem as informações de contato existentes.

Essa funcionalidade é necessária para usar APIs no namespace Windows.ApplicationModel.Chat.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Acesso ao email A funcionalidade restrita email permite que os aplicativos leiam, façam triagem e enviem emails do usuário.

Essa funcionalidade é necessária para usar APIs no namespace Windows.ApplicationModel.Email.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Acesso a email de nível do sistema A funcionalidade restrita emailSystem permite que os aplicativos leiam, façam triagem e enviem emails confidenciais do usuário.

Essa funcionalidade é necessária para usar APIs no namespace Windows.ApplicationModel.Email.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Acesso ao histórico de chamadas de nível do sistema A funcionalidade restrita phoneCallHistorySystem permite que os aplicativos modifiquem totalmente o histórico de chamadas alterando as entradas existentes e criando novas.

Essa funcionalidade é necessária para usar APIs no namespace Windows.ApplicationModel.Calls.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Enviar mensagens de texto* A funcionalidade restrita smsSend permite que os aplicativos enviem mensagens SMS e MMS.

Essa funcionalidade é necessária para usar APIs no namespace Windows.ApplicationModel.Chat.
Acesso de nível de sistema para todos os dados do usuário A funcionalidade restrita userDataSystem permite que os aplicativos acessem o armazenamento de dados do sistema de dados do usuário.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Recursos de visualização da Loja A funcionalidade restrita previewStore permite que os aplicativos recuperem e comprem SKUs de produtos no aplicativo.

Essa funcionalidade é necessária para usar certas APIs no namespace Windows.ApplicationModel.Store.Preview.
Configurações de primeira conexão A funcionalidade restrita firstSignInSettings permite que os aplicativos acessem as configurações de usuário definidas quando o usuário se conectou pela primeira vez no dispositivo.
Experiência da equipe do Windows O recurso restrito teamEditionExperience permite que aplicativos acessem APIs internas que controlam muitos aspectos experimentais de uma sessão de equipe do Windows. Uma sessão de equipe do Windows provavelmente está em execução em um dispositivo de equipe como um Microsoft Surface Hub.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Desbloqueio remoto A funcionalidade restrita remotePassportAuthentication permite que aplicativos acessem as credenciais que podem ser usadas para desbloquear um computador remoto.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Composição de visualização A funcionalidade restrita previewUiComposition permite que os aplicativos visualizem o namespace Windows.UI.Composition de sua interface de usuário para que possam dar feedback sobre a API antes de concluída. Entre em contato com wincomposition@microsoft.com para obter mais informações.
Bloqueio de avaliação segura A funcionalidade restrita secureAssessment permite que os aplicativos bloqueiem o Windows em um modo de aplicativo único para avaliações seguras.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Provisionamento do Gerenciador de Conexões A funcionalidade restrita networkConnectionManagerProvisioning permite que os aplicativos definam as políticas que conectam o dispositivo usando interfaces WWAN e WLAN. Os aplicativos que usam essa funcionalidade são criados por operadoras de celular para controlar os dispositivos que se conectam com sua rede móvel.
Provisionamento de plano de dados O recurso restrito networkDataPlanProvisioning permite que os aplicativos coletem informações sobre os planos de dados no dispositivo e leiam o uso da rede. Aplicativos que usam essa funcionalidade são criados por operadoras móveis para integrar o uso de dados real dos clientes à configuração de uso de dados do SO.
Licenciamento de software O recurso restrito slapiQueryLicenseValue permite que os aplicativos consultem políticas de licenciamento de software.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Execução estendida A funcionalidade restrita extendedBackgroundTaskTime impede que tarefas em segundo plano sejam canceladas ou encerradas devido a tempos limite de execução. Elas permanecem sujeitas a todos os outros limites de uso de memória e energia. Essa funcionalidade pode ser restringida usando as Configurações de Aplicativos de Segundo Plano de Uso de Bateria ou de Privacidade. Observe que os consumidores e os administradores ainda podem controlar as tarefas em segundo plano por meio das configurações da Política de Grupo.

O recurso restrito extendedExecutionBackgroundAudio permite que os aplicativos reproduzam áudio quando o aplicativo não está em primeiro plano.

O recurso restrito extendedExecutionCritical permite que os aplicativos comecem uma sessão de execução crítica estendida.

O recurso restrito extendedExecutionUnconstrained permite que os aplicativos comecem uma sessão de execução irrestrita estendida.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.

Confira Adiar a suspensão do aplicativo com execução estendida para obter mais informações sobre como usar a execução estendida para adiar quando seu aplicativo será suspenso.
Gerenciamento de dispositivo móvel O recurso restrito deviceManagementDmAccount permite que os aplicativos provisionem e configurem contas Mobile Operator Open Mobile Alliance - Device Management (MO OMA-DM).

O recurso restrito deviceManagementFoundation permite que os aplicativos tenham acesso básico à infraestrutura de provedor de serviço (CSP) de configuração de gerenciamento de dispositivos móveis (MDM) no dispositivo. Observe que outros recursos são necessários para acessar CSPs específicos.

O recurso restrito deviceManagementWapSecurityPolicies permite que os aplicativos configurem serviços baseados em protocolo de aplicativo sem fio (WAP), como MMs, indicação de serviço/carregamento de serviço (SI/SL) e Open Mobile Alliance - Client Provisioning (OMA-CP).

O recurso restrito deviceManagementEmailAccount permite que os aplicativos criados por operadoras de celular adicionem e gerenciem uma conta de email em dispositivos que eles provisionem aos usuários.
Controle de política de pacote O recurso restrito packagePolicySystem permite que os aplicativos tenham controle das políticas de sistema relacionadas a aplicativos que estão instalados no dispositivo.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Lista de jogos O recurso restrito gameList permite que os aplicativos obtenham uma lista de jogos conhecidos instalados no sistema.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Acessório do Xbox A funcionalidade restrita xboxAccessoryManagement permite que os aplicativos gerenciem diretamente dispositivos Xbox que estão em conformidade com a especificação de hardware do Xbox.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Reconhecimento de fala para acessórios O recurso restrito cortanaSpeechAccessory permite que os aplicativos invoquem e passem comandos para o Cortana.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Gerenciamento de acessórios A funcionalidade restrita accessoryManager permite que os aplicativos se registrem como um aplicativo acessório e ativem notificações de aplicativo específicas de maneira que elas possam ser encaminhadas aos acessórios e exibidas para o usuário.
Acesso ao driver A funcionalidade restrita interopServices permite que os aplicativos interajam diretamente com drivers.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Observação de primeiro plano A funcionalidade restrita inputForegroundObservation permite que aplicativos em primeiro plano interceptem a entrada por teclado e ignorem todo o processamento de entradas de teclado que não seja de aplicativo. As combinações de SAS não podem ser interceptadas por essa funcionalidade. Essa funcionalidade é necessária para acessar membros da classe KeyboardDeliveryInterceptor.
Aplicativos de parceiros de OEM e operadoras de celular A funcionalidade restrita oemDeployment permite que os aplicativos criados por parceiros da Microsoft instalem novos aplicativos e consultem os aplicativos instalados no momento no dispositivo.

A funcionalidade restrita oemPublicDirectory permite que os aplicativos criados por parceiros da Microsoft tenham acesso à pasta de aplicativos compartilhados. Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Licenciamento de aplicativo A funcionalidade restrita appLicensing permite que os aplicativos sejam executados sem a necessidade de uma licença. Se você declarar essa funcionalidade no seu manifesto, não poderá enviar seu aplicativo para a loja.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Sistema de localização A funcionalidade restrita locationSystem permite que os aplicativos realizem determinadas configurações de localização privilegiadas, como definir o local padrão do dispositivo.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Provedor de contas de dados do usuário A funcionalidade restrita userDataAccountsProvider permite que os aplicativos gerenciem totalmente o email, o calendário e as contas do contato.
Workspace de caneta A funcionalidade previewPenWorkspace permite que um aplicativo acesse o namespace Windows.ApplicationModel.Preview.Notes seja hospedado dentro do espaço de trabalho de caneta como o manipulador de ação de lembrar.
Fator de autenticação secundário A funcionalidade secondaryAuthenticationFactor permite que um aplicativo desbloqueie um computador, passando os segredos armazenados em um dispositivo de autenticação em um dispositivo de autenticação complementar próximo. Por exemplo, um acessório de fitness complementar pode ser usado para desbloquear o computador. Essa funcionalidade é necessária para acessar as APIs no namespace Windows.Security.Authentication.Identity.Provider.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Gerenciamento de licenças de loja A funcionalidade storeLicenseManagement permite que os aplicativos hub de parceiros da Microsoft gerenciem licenças de loja no dispositivo. Essa funcionalidade é necessária para acessar APIs no namespace Windows.ApplicationModel.Store.LicenseManagement.
ID de sistema do usuário A funcionalidade userSystemId permite que os aplicativos obtenham um identificador de sistema específico para o usuário. Esse identificador identifica exclusivamente o usuário atual em um sistema específico e pode ser usado para correlacionar as informações em todos os aplicativos. Essa funcionalidade é necessária para acessar o método SystemIdentification.GetSystemIdForUser(User).
Conteúdo direcionado A funcionalidade targetedContent fornece a um aplicativo a capacidade de recuperar e usar conteúdo de assinatura direcionado fornecido pelo namespace Windows.Services.TargetedContent.

Essa funcionalidade é necessária para usar algumas APIs no namespace Windows.System.Profile.SystemIdentification.
Automação da Interface do Usuário A funcionalidade uiAutomation permite que um cliente de automação da interface do usuário, como o Narrador, se conecte a um servidor ou provedor de Automação da interface do usuário.

Essa funcionalidade é necessária para usar algumas APIs no namespace Windows.Xbox.Media.Capture.Broadcaster.
Serviços do Game Bar A funcionalidade gameBarServices é restrita a UWAs de caixa de entrada atualizáveis de lojas internas.

Essa funcionalidade é necessária para usar a classe Windows.Media.Capture.GameBarsSrvices.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Serviços de captura de aplicativo A funcionalidade appCaptureServices é limitada a partes com as quais a Microsoft tem relações contratuais. Essas relações são estabelecidas com base em contratos de parceiro, que estão sendo realizados com a ajuda dos Serviços do Xbox e do bizdev.

Essa funcionalidade é necessária para usar a classe Windows.Media.Capture.AppCaptureServices.
Serviços de difusão de aplicativo A funcionalidade appBroadcastServices é limitada a partes com as quais a Microsoft mantém relações contratuais. Essas relações são estabelecidas com base em contratos de parceiro, que estão sendo realizados com a ajuda dos Serviços do Xbox.

Essa funcionalidade é necessária para usar a classe Windows.Media.Capture.AppBroadcastServices.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Configuração do dispositivo de áudio A funcionalidade audioDeviceConfiguration permite que um aplicativo consulte, configure, habilite e desabilite efeitos de áudio expostos pelo driver de áudio.

Essa funcionalidade é necessária para usar a classe Windows.Media.Devices.AudioDeviceModulesManager.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado. Isso ocorre porque AudioDeviceModulesManager permite que o aplicativo acesse todos os efeitos de áudio de um determinado sistema. Potencialmente, os efeitos de áudio podem ser configurados de maneira a afetar negativamente o desempenho de áudio do dispositivo.
Gravação de mídia em segundo plano A funcionalidade backgroundMediaRecording altera o comportamento das APIs específicas para mídia, como as classes MediaCapture e AudioGraph, para habilitar a gravação de mídia enquanto seu aplicativo está em segundo plano.
Visualização do workspace do Ink A funcionalidade previewInkWorkspace permite que um aplicativo acesse o namespace de Visualização do Ink hospedado no workspace de tinta. De modo geral, ela é usada por OEMs para substituir o aplicativo de quadro de comunicações em um dispositivo.

Essa funcionalidade é necessária para s APIs no namespace Windows.ApplicationModel.Preview.InkWorkspace.
Gerenciamento de Tela Inicial A funcionalidade startScreenManagement permite que os aplicativos fixem Blocos silenciosamente na tela inicial. Os aplicativos também podem fixar no segundo plano. A ausência da funcionalidade startScreenManagement não bloqueia nenhuma API. Em vez disso, usar startScreenManagement significa que o Shell não exibirá nenhuma interface do usuário quando um aplicativo usar a API de Fixar.
Permissões da Cortana A funcionalidade cortanaPermissions permite que um aplicativo enumere as permissões que o usuário concedeu à Cortana no dispositivo. A funcionalidade também permite que o aplicativo conceda e revogue permissões da Cortana no dispositivo. Observe que o uso de cortanaPermissions requer que o dispositivo exiba texto legal antes de conceder as permissões. Sendo assim, é responsabilidade do aplicativo informar o usuário sobre as consequências legais de modificar as permissões.


Essa funcionalidade é necessária para obter acesso de leitura às configurações de registro HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Todas as modificações do aplicativo A funcionalidade allAppMods permite que o aplicativo acesse a pasta AppMods de todos os aplicativos. Os utilitários de Gerenciamento de Modificações utilizam allAppMods para gerenciar modificações fora do jogo ou aplicativo que as consome.
Recursos expandidos A funcionalidade expandedResources permite que o aplicativo acesse recursos do Modo de Jogo. No Xbox e em computadores que atendem a um determinado nível, os recursos do Modo de Jogo representam um subconjunto dos núcleos de CPU disponíveis que são reservados para uso exclusivo do aplicativo. No Xbox, o aplicativo também faz uso exclusivo de uma partição de memória de pelo menos 4GB.

Essa funcionalidade é necessária para fazer uso exclusivo de recursos de memória e da CPU conforme definido acima.
Aplicativo protegido A funcionalidade protectedApp permite que o aplicativo seja carregado em um processo protegido pela loja. Quando o aplicativo é inserido na loja, a loja adiciona um blob ao executável. A loja também assina a página do executável com uma chave da Microsoft. O carregador do processo verifica esse blob, em vez da funcionalidade, para impor processo protegido, uma vez que o blob necessita de uma assinatura da Microsoft.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Monitor de jogo A funcionalidade gameMonitor faz com que o sistema use monitoramento ativo para detectar trapaças de jogo pelo aplicativo.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Diagnóstico do aplicativo A funcionalidade appDiagnostics permite que o aplicativo obtenha informações de diagnóstico (como informações de pacote, uso de memória e nome da conta) de qualquer outro aplicativo UWP em execução. As informações retornadas incluem o nome da conta do domínio/computador em que o aplicativo está sendo executado; se o aplicativo autor da chamada for iniciado com direitos de Administrador, o aplicativo poderá recuperar uma lista de todos os aplicativos em execução para todas as contas no computador.

Essa funcionalidade é necessária para usar as classes Windows.System.AppDiagnosticInfo, Windows.System.AppDiagnosticInfo.RequestAppDiagnosticInfoAsync e Windows.ApplicationModel.AppInfo.
Provedores do Portal de Dispositivos A funcionalidade devicePortalProvider permite que os aplicativos chamem as APIs Windows.System.Diagnostics.DevicePortal e atuem como um servidor Web para ferramentas de diagnóstico no Modo Desenvolvedor.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Logon Único do Enterprise Cloud A funcionalidade enterpriseCloudSSO permite que os aplicativos usem o logon único com recursos do Azure Active Directory (AAD) dentro de um controle de modo de exibição da Web hospedado.
Aceitar chamadas VoIP automaticamente A funcionalidade backgroundVoIP permite que você receba e aceite chamadas VoIP automaticamente, sem exigir que o usuário aceite a chamada explicitamente. Os aplicativos que utilizam essa funcionalidade recebem controle total da câmera e do microfone e podem usar esses recursos em segundo plano.

Não recomendamos declarar essa funcionalidade em aplicativos enviados à Microsoft Store. Para a maioria dos desenvolvedores, o uso dela não será aprovado.
Reservar recursos para chamadas VoIP A funcionalidade oneProcessVoIP permite que você reserve os recursos de CPU e memória necessários para uma chamada VoIP em um aplicativo de processo único.

Não recomendamos declarar essa funcionalidade em aplicativos enviados à Microsoft Store. Para a maioria dos desenvolvedores, o uso dela não será aprovado.
Rede de Modo de Desenvolvimento A funcionalidade developmentModeNetwork permite que os aplicativos acessem os caminhos de rede usando as credenciais do usuário conectado ao chamar a API Win32 OpenFile em um aplicativo UWP em C++/CX ou em um Componente do Windows Runtime em C++.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Acesso amplo ao sistema de arquivos A funcionalidade broadFileSystemAccess permite que os aplicativos recebam o mesmo acesso ao sistema de arquivos que o usuário que está executando o aplicativo, sem nenhum prompt adicional no estilo seletor de arquivos durante o runtime. É importante observar que essa funcionalidade não é necessária para acessar os arquivos que o usuário já escolheu usando o FilePicker ou o FolderPicker.

Essa funcionalidade funciona para as APIs Windows.Storage. Como os usuários podem conceder ou negar a permissão a qualquer momento nas Configurações, você precisa garantir que o aplicativo seja resiliente a essas alterações. Na atualização de abril de 2018, o padrão para as permissões é Ativada. Na atualização de outubro de 2018, o padrão é Desativada. Também é importante que você não declare nenhuma funcionalidade especial de pasta, como Documentos, Imagens ou Vídeos, com essa funcionalidade. Você pode habilitar essa funcionalidade em seu aplicativo adicionando broadFileSystemAccess ao manifesto. Para ver um exemplo, confira o artigo Permissões de acesso a arquivo.

Na maioria dos casos, para obter acesso às localizações do sistema de arquivos, o aplicativo pode usar as APIs FileOpenPicker, FileSavePicker, FolderPickere FutureAccessList. Se você quiser solicitar aprovação para usar a funcionalidade broadFileSystemAccess, deverá apresentar motivos específicos para explicar por que essas APIs não são suficientes para suas necessidades.

Observação: Não há suporte para essa funcionalidade no Xbox.
BIOS e firmware do sistema A funcionalidade smbios permite que os aplicativos acessem dados do BIOS e dados de firmware do sistema.
Nível de permissão de confiança total Essa é a capacidade restrita runFullTrust. Os termos estão definidos abaixo, mas, em resumo, um pacote precisa dessa capacidade ao usar recursos para os quais a confiança total é necessária. Um exemplo comum é um pacote que contém um ou mais aplicativos de confiança total. A capacidade restrita runFullTrust permite que um pacote como esse seja instalado em um computador.

Um aplicativo de confiança total é aquele que define uap10:TrustLevel como mediumIL (confira o elemento Aplicativo). Um aplicativo de confiança total tem um processo que é executado com um nível de integridade médio (confira Controle de integridade obrigatório). Além disso, um pacote é um pacote MSIX ou .appx (veja Criar um pacote MSIX com base em código).

Outro exemplo em que essa capacidade é necessária é um pacote com uma categoria de extensão windows.firewallRules (confira desktop2:Extension). Isso é considerado um recurso de confiança total e, nesse exemplo, não há aplicativos para ativar nem processos para iniciar.

Para usar a classe FullTrustProcessLauncher, esse recurso também é necessário.
Elevação A funcionalidade restrita allowElevation permite que aplicativos criados por empresas e parceiros da Microsoft preservem a funcionalidade de área de trabalho existente que exija elevação automática na inicialização ou durante o tempo de vida do aplicativo.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado. Ela será aprovada apenas para aplicativos de linha de negócios implantados por empresas em seu repositório particular por meio da Microsoft Store para Empresas.
Credenciais de dispositivo de equipe do Windows A funcionalidade restrita teamEditionDeviceCredential permite que os aplicativos acessem APIs que solicitam credenciais de conta do dispositivo em um dispositivo Surface Hub que executa o Windows 10, versão 1703 ou posterior.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Exibição de aplicativo de equipe do Windows A funcionalidade restrita teamEditionView permite que os aplicativos acessem APIs para hospedar uma exibição de aplicativo em um dispositivo Surface Hub que executa o Windows 10, versão 1703 ou posterior.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Extensão de processamento de câmera A funcionalidade restrita cameraProcessingExtension permite que os aplicativos processem imagens capturadas pela câmera sem ter controle direto da câmera.

Essa funcionalidade é necessária para chamar APIs no namespace Windows.Devices.PointOfService.Provider.

Qualquer pessoa pode solicitar acesso a essa funcionalidade para envio à loja.
Gerenciamento de uso de dados A funcionalidade restrita networkDataUsageManagement permite que os aplicativos coletem informações de uso de dados da rede.

Essa funcionalidade é necessária para chamar GetAttributedNetworkUsageAsync.

Qualquer pessoa pode solicitar acesso a essa funcionalidade para envio à loja.
Gerenciar conectividade de linha telefônica A funcionalidade phoneLineTransportManagement permite que os aplicativos gerenciem dispositivos do sistema responsáveis pela conectividade de linha telefônica.

Essa funcionalidade é necessária para usar APIs PhoneLineTransportDevice no namespace Windows.ApplicationModel.Calls.
Recursos não virtualizados A funcionalidade restrita unvirtualizedResources permite que seu aplicativo declare os elementos RegistryWriteVirtualization e FileSystemWriteVirtualization no manifesto do pacote para desabilitar a virtualização para o registro e o sistema de arquivos. Essas declarações impedem que o sistema virtualize as gravações em HKEY_CURRENT_USER ou na pasta AppData do usuário, respectivamente. Isso é útil em cenários em que o aplicativo espera que outros aplicativos leiam ou gravem as mesmas entradas do Registro ou do sistema de arquivos que ele.

Essa funcionalidade foi projetada para determinados tipos de jogos de computador para desktop publicados pela Microsoft e por nossos parceiros. Ele também é necessário para aplicativos empacotados com localização externa (confira Conceder identidade de pacote realizando o empacotamento com localização externa). Ela não se destina a ser usada em outros cenários, pois pode comprometer a capacidade do sistema de desinstalar corretamente.
Aplicativo modificável A funcionalidade restrita modifiableApp permite que seu aplicativo declare a extensão windows.mutablePackageDirectories no manifesto do pacote. Isso permite que você forneça um nome para a pasta em que o aplicativo espera que arquivos modificados ou adicionados fiquem localizados. O sistema operacional criará essa pasta e permitirá que seu aplicativo use os arquivos contidos nela em vez (ou além) dos arquivos instalados originalmente pelo aplicativo.

Essa funcionalidade foi projetada para determinados tipos de jogos de computador para desktop publicados pela Microsoft e por nossos parceiros. Ela não será permitida em outros cenários, pois pode permitir que código não assinado seja executado.
Shim de compatibilidade de redirecionamento de gravação de pacote A funcionalidade restrita packageWriteRedirectionCompatibilityShim configura seu aplicativo para criar todos os arquivos em uma localização de acordo com o usuário. Arquivos preexistentes abertos para gravações são copiados primeiro para uma localização de acordo com o usuário e as modificações acontecem no arquivo nessa localização. Essa funcionalidade é útil para aplicativos que criam ou modificam arquivos em sua pasta de instalação.

Essa funcionalidade foi projetada para determinados tipos de jogos de computador para desktop publicados pela Microsoft e por nossos parceiros. No entanto, ela também pode ser aplicável a outros aplicativos em alguns casos.
Ações de instalação personalizada A funcionalidade restrita customInstallActions permite que o aplicativo declare a extensão windows.customInstall no manifesto do pacote para que ele possa especificar um ou mais arquivos de instalador (.exe ou .msi) adicionais que são executados com o aplicativo. Isso permite que você especifique ações personalizadas para qualquer um dos cenários de implantação padrão: instalar, atualizar, reparar ou desinstalar. É útil, por exemplo, para aplicativos que agrupam um componente redistribuível de terceiros.

Essa funcionalidade foi projetada para determinados tipos de jogos de computador para desktop publicados pela Microsoft e por nossos parceiros. Ela não será concedida para outros cenários.
Serviços empacotados A funcionalidade restrita packagedServices permite que aplicativos criados por empresas e parceiros da Microsoft declarem a extensão windows.service no manifesto do pacote para que seja possível instalar um ou mais serviços com o aplicativo. Esses serviços podem ser configurados para execução nas contas de Serviço Local, Serviço de Rede ou Sistema Local. Os serviços Local e de Rede exigem apenas a funcionalidade packagedServices. Os serviços do Sistema Local exigem as funcionalidades packagedServices e localSystemServices.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Serviços do Sistema Local A funcionalidade restrita localSystemServices permite que os aplicativos criados por empresas e parceiros da Microsoft instalem um ou mais serviços do Sistema Local com o aplicativo (ou seja, o aplicativo pode declarar a StartAccount para que os serviços sejam o LocalSystem). Esse cenário também requer a funcionalidade packagesServices.

Não recomendamos que você declare essa funcionalidade nos aplicativos que enviar à Microsoft Store. Na maioria dos casos, o uso dela não será aprovado.
Percepção espacial em segundo plano A funcionalidade restrita backgroundSpatialPerception permite que o aplicativo acesse a movimentação da cabeça e das mãos do usuário, de controladores de movimento e de outros objetos rastreados enquanto o aplicativo está em execução em segundo plano.
UI Access UIAccess é um recurso no Windows que permite que determinados aplicativos confiáveis interajam com a interface do usuário (UI) de outros aplicativos, mesmo quando eles estão sendo executados com privilégios mais altos ou em uma sessão de área de trabalho segura. Esse recurso é frequentemente usado por ferramentas de acessibilidade e software de automação para fornecer aos usuários maneiras alternativas de interagir com aplicativos. O recurso restrito uiAccess deve ser especificado quando o atributo uiAccess do elemento requestedExecutionLevel é definido como true no arquivo de manifesto do aplicativo. Para obter mais informações, confira Considerações de segurança para tecnologias adaptativas.

Funcionalidades personalizadas

A seção funcionalidades restritas acima descreve o mesmo processo de aprovação de funcionalidades que você pode usar para solicitar aprovação para usar uma funcionalidade personalizada. As APIs de SIM inserido são exemplos de APIs que exigem uma funcionalidade personalizada. Se quiser apenas executar o aplicativo localmente no modo de desenvolvedor, você não precisará da funcionalidade personalizada. Mas você precisa dela para publicar o aplicativo na Microsoft Store ou executá-lo fora do modo de desenvolvedor.

Se tiver um TAM (gerente técnico de contas) do Windows, você poderá trabalhar com ele para solicitar o acesso. Veja mais detalhes em Contatar seu TAM da Microsoft.

Para declarar uma funcionalidade personalizada, modifique o arquivo de origem (Package.appxmanifest) do manifesto do pacote do aplicativo. Adicione a declaração de namespace de XML xmlns:uap4 e use o prefixo uap4 ao declarar a funcionalidade personalizada. Veja um exemplo.

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

Observação

Todos os elementos CustomCapability devem vir depois dos elementos Capability e DeviceCapability no nó Capabilities do manifesto do pacote.

Cenário da funcionalidade Uso da funcionalidade
Manipulador de URI do aplicativo Um aplicativo pode se registrar como um manipulador para um determinado URI, de modo que, quando o usuário abre um link para o URI especificado, o aplicativo é iniciado em vez de abrir o navegador. Isso exige o registro no computador local e a verificação pelo servidor Web de destino. A funcionalidade personalizada Microsoft.delegatedWebFeatures_8wekyb3d8bbwe permite que um aplicativo hospede um PWA (Aplicativo Web Progressivo) e verifique se o PWA é um manipulador de URI de aplicativo sem se referir ao site de destino para confirmação.
Configuração de SAR da rede celular A funcionalidade personalizada Microsoft.cellularSARConfiguration_8wekyb3d8bbwe permite que um aplicativo realize a configuração das propriedades de SAR (taxa de absorção específica) de um dispositivo. Confira a classe MobileBroadbandSarManager.
Ativação do CoreApplication Um aplicativo que declara o recurso Microsoft.coreAppActivation_8wekyb3d8bbwe personalizado é baseado em CoreApplication, mas precisa ser executado com confiança total, semelhante a um aplicativo de Ponte de Desktop.
Ações de instalação personalizadas Permite que o aplicativo use ações personalizadas de instalação/desinstalação. Um aplicativo poderá usar ações personalizadas se tiver a funcionalidade restritacustomInstallActions e for um aplicativo MSIXVC Xbox Game Pass ou tiver a funcionalidade personalizada Microsoft.classicAppInstaller_8wekyb3d8bbwe.
Gerenciamento do ESim A funcionalidade personalizada Microsoft.eSIMManagement_8wekyb3d8bbwe permite que um aplicativo realize a configuração do eSIM (SIM interno) de um dispositivo. Confira a classe ESim.
Comportamentos de instalação herdada A funcionalidade personalizada Microsoft.classicAppCompat_8wekyb3d8bbwe protege o caso em que um aplicativo declara um recurso de instalação herdado; por exemplo, escrevendo ProgIds COM personalizadas no Registro do Windows.
Instalação em todo o computador Protege o caso em que um aplicativo declara um recurso de instalação herdado configurado para registro de HKLM/todo o computador, o que exige elevação. Especificamente necessário para qualquer situação no manifesto do aplicativo em que o aplicativo declara Scope="machine".

Por exemplo, um aplicativo baseado em MSIX usando o elemento desktop7:ApprovedShellExtension precisa definir o escopo para o computador e, portanto, precisa declarar a funcionalidade personalizada Microsoft.classicAppCompatElevated_8wekyb3d8bbwe. Para obter mais informações sobre esse cenário, confira desktop7:ApprovedShellExtension.
Rede sob demanda A funcionalidade personalizada Microsoft.onDemandHotspotControl_8wekyb3d8bbwe (a funcionalidade de rede sob demanda) será disponibilizada apenas para desenvolvedores de aplicativos que criam cenários de hotspot Wi-Fi de ponta a ponta entre um dispositivo de hardware compatível com tethering e um computador Windows. Confira a classe WiFiOnDemandHotspotNetwork.
Registrando uma extensão de shell aprovada Confira o cenário de funcionalidade de instalação em todo o computador.
Modo S Um aplicativo que declarar a funcionalidade personalizada Microsoft.requiresNonSMode_8wekyb3d8bbwe será impedido de ser executado em um dispositivo Windows no modo S.
Aplicativos de inicialização Um aplicativo pode ser configurado para iniciar automaticamente após o logon do usuário. Normalmente, o usuário pode habilitar/desabilitar esse comportamento para cada aplicativo. A funcionalidade personalizada Microsoft.nonUserConfigurableStartupTasks_8wekyb3d8bbwe configura um aplicativo de modo que o comportamento de inicialização não possa ser habilitado/desabilitado pelo usuário.
Windows Core 1 Um aplicativo que declara a funcionalidade personalizada Microsoft.deployFullTrustOnHost_8wekyb3d8bbwe é totalmente confiável para usar APIs nativas do Win32 em um dispositivo Windows Core.
Windows Core 2 Um aplicativo Ponte de Desktop que declarar a funcionalidade personalizada Microsoft.notSupportedInCoreV1_8wekyb3d8bbwe será impedido executar em um dispositivo Windows Core.
Estrutura de dispositivo complementar do Windows Hello A funcionalidade relacionada à funcionalidade personalizada Microsoft.secondaryAuthenticationFactorForLogon_8wekyb3d8bbwe foi preterida desde o Windows 10, versão 2004 (10.0; Build 19041), e não concedemos mais esse funcionalidade às contas de desenvolvedor. Um aplicativo que declara essa funcionalidade pode ser registrado com a estrutura de dispositivo complementar para habilitar o desbloqueio do Windows com o dispositivo complementar associado do aplicativo. Para obter mais informações, confira Desbloqueio do Windows com dispositivos (IoT) complementares do Windows Hello.