Declaraciones de funcionalidades de las aplicaciones

Nota:

Parte de la información hace referencia al producto de versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.

¿A qué tipos de aplicaciones se aplican las funcionalidades de la aplicación?

La mayoría de los escenarios de las funcionalidades de la aplicación solo son relevantes para las aplicaciones que tienen identidad del paquete y que se ejecutan en un AppContainer. Todas las aplicaciones para UWP cumplen esos criterios, por lo que las funcionalidades se aplican a ellas. Pero también puede proporcionar una identidad de paquete de la aplicación de escritorio y configurarlo como una aplicación AppContainer. Por lo tanto, las funcionalidades también se aplican a algunas aplicaciones de escritorio.

Una aplicación de escritorio que es una aplicación de appContainer se puede identificar mediante uap10:TrustLevel="appContainer" en su manifiesto de paquete de aplicación (para obtener más información, consulte Aplicación [Windows 10]). Del mismo modo, una aplicación de escritorio con mediumIL (un nivel de integridad de medio) tiene uap10:TrustLevel="mediumIL". Las aplicaciones de nivel de integridad medio, que también se conocen como aplicaciones de plena confianza, no se ejecutan en un appContainer.

Las funcionalidades internetClient y enterpriseAuthentication conceden a una aplicación la capacidad de realizar determinadas operaciones que el usuario ya puede realizar. Por lo tanto, son ejemplos de funcionalidades que solo se aplican a las aplicaciones de appContainer. Por el contrario, una aplicación con nivel de integridad medio ya se está ejecutando como el usuario; por lo tanto, una aplicación como esa ya puede realizar esas operaciones sin necesidad de esas funcionalidades.

Sin embargo, hay algunos escenarios en los que una aplicación con nivel de integridad medio también debe declarar una funcionalidad. De hecho, una aplicación con nivel de integridad medio debe declarar la funcionalidad restringida runFullTrust. Además, para poder registrar servidores COM fuera de proceso para la comunicación entre procesos (IPC), una aplicación empaquetada necesita runFullTrust. Esa característica se conoce como COM empaquetada (para obtener más información, consulte la entrada de blog Compatibilidad con el servidor COM y el documento OLE para el puente de dispositivo de escritorio).

Para obtener información sobre otro escenario que se aplica incluso a las aplicaciones con nivel de integridad medio, consulte Funcionalidades confidenciales de privacidad en este tema.

Puede determinar si el manifiesto de paquete de la aplicación necesita runFullTrust simplemente mediante la compilación del paquete. Makeappx.exe validará el esquema y, si runFullTrust no está declarado, pero algún elemento lo necesita, verá un mensaje de error detallado, incluido el problema, junto con números de línea y columna.

Declaración de funcionalidades

Si quiere acceder a determinadas API o recursos (como imágenes o música), o dispositivos (como la cámara o el micrófono), debe declarar las funcionalidades de aplicación adecuadas en el manifiesto de paquete de la aplicación de Windows

Puede declarar funcionalidades generales mediante el Diseñador de manifiestos en Visual Studio o puede agregarlas manualmente. Para obtener más información, consulte Cómo especificar funcionalidades en un manifiesto de paquete. Es importante saber que cuando los clientes obtienen la aplicación en Microsoft Store, se les notificarán todas las funcionalidades que la aplicación declara. Por lo tanto, asegúrese de declarar solo las funcionalidades que necesita la aplicación.

Funcionalidades confidenciales de privacidad

Un recurso confidencial es un recurso que puede acceder a los datos personales del usuario o costar el dinero del usuario. En este tema, las funcionalidades que proporcionan las aplicaciones con acceso a un recurso con información confidencial están marcadas con un asterisco (*) en la columna Escenario de la funcionalidad.

Las funcionalidades confidenciales de privacidad indican al sistema operativo (SO) y al usuario lo que la aplicación pretende hacer. Dado que es bueno enviar esta señal a los usuarios de la aplicación, se recomienda declarar funcionalidades confidenciales de privacidad incluso para aplicaciones con nivel de integridad medio (donde se usa la identidad de la aplicación para proporcionar alternancias de privacidad individuales). Al hacerlo, esas aplicaciones se pueden administrar en las páginas de configuración de privacidad (administradas por la aplicación Configuración de Windows) tan pronto como estén instaladas, en lugar de hacerlo más adelante, cuando acceden a recursos confidenciales de privacidad.

Esas opciones de configuración de privacidad permiten al usuario controlar dinámicamente el acceso a recursos confidenciales. Por lo tanto, es importante que la aplicación no suponga que un recurso con información confidencial está siempre disponible. Para obtener más información sobre el acceso a recursos confidenciales, consulte Seguridad.

Diferentes tipos de funcionalidades

Hay varios tipos de funcionalidades.

Funcionalidades de uso general

Las funcionalidades de uso general se especifican mediante elementos Capability en el manifiesto de paquete de la aplicación. Estas funcionalidades se aplican a los escenarios más comunes de las aplicaciones.

Nota

Todos los elementos Capability deben situarse antes de cualquier elemento CustomCapability y DeviceCapability en el nodo Capabilities del manifiesto de paquete.

Escenario de funcionalidad Uso de la funcionalidad
Música* La funcionalidad musicLibrary proporciona acceso mediante programación a la biblioteca Música del usuario, lo que permite a la aplicación enumerar y obtener acceso a todos los archivos de la biblioteca sin la interacción del usuario. Esta funcionalidad se usa normalmente en aplicaciones de equipo de música/jukebox que usan toda la biblioteca de música.

El selector de archivos proporciona un sólido mecanismo de interfaz de usuario que permite a los usuarios abrir archivos para usarlos con una aplicación. Declara la funcionalidad musicLibrary solo cuando los escenarios para la aplicación requieran acceso mediante programación y no se pueda hacer desde el selector de archivos.

La funcionalidad musicLibrary debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><uap:Capability Name="musicLibrary"/></Capabilities>
Imágenes* La funcionalidad picturesLibrary proporciona acceso mediante programación a la biblioteca Imágenes del usuario, lo que permite a la aplicación enumerar y tener acceso a todos los archivos de la biblioteca sin la interacción del usuario. Esta funcionalidad se usa normalmente en aplicaciones de fotografía que hacen uso de toda la biblioteca de imágenes.

El selector de archivos proporciona un sólido mecanismo de interfaz de usuario que permite a los usuarios abrir archivos para usarlos con una aplicación. Declara la funcionalidad picturesLibrary solo cuando los escenarios para la aplicación requieran acceso mediante programación y no se pueda hacer desde el selector de archivos.

La funcionalidad picturesLibrary debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><uap:Capability Name="picturesLibrary"/></Capabilities>
Vídeos* La funcionalidad videosLibrary proporciona acceso mediante programación a los vídeos del usuario y permite a la aplicación enumerar todos los archivos de la biblioteca y acceder a ellos sin interacción con el usuario. Esta funcionalidad se usa normalmente en aplicaciones de reproducción de películas que hacen uso de toda la biblioteca de vídeos.

El selector de archivos proporciona un sólido mecanismo de interfaz de usuario que permite a los usuarios abrir archivos para usarlos con una aplicación. Declara la funcionalidad videosLibrary solo cuando los escenarios para la aplicación requieran acceso mediante programación y no se pueda hacer desde el selector de archivos.

La funcionalidad videosLibrary debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><uap:Capability Name="videosLibrary"/></Capabilities>
Almacenamiento extraíble La funcionalidad removableStorage proporciona acceso mediante programación a archivos en almacenamiento extraíble, como discos duros externos y llaves USB, filtrado para las asociaciones de tipo de archivo declaradas en el manifiesto del paquete. Por ejemplo, si una aplicación de lector de documentos declara una asociación de tipo de archivo .doc, puede abrir archivos .doc en el dispositivo de almacenamiento extraíble, pero no puede abrir otros tipos de archivo. Ten cuidado cuando declares esta funcionalidad porque los usuarios pueden incluir diferentes tipos de información en sus dispositivos de almacenamiento extraíble y esperan que la aplicación proporcione una justificación válida para obtener acceso mediante programación al almacenamiento extraíble para todos los archivos del tipo declarado.

Los usuarios esperarán que la aplicación controle cualquier asociación de archivos que declares. Por lo tanto, no declares asociaciones de archivos que la aplicación no pueda controlar de forma responsable. El selector de archivos proporciona un sólido mecanismo de interfaz de usuario que permite a los usuarios abrir archivos para usarlos con una aplicación.

Declara la funcionalidad removableStorage solo cuando los escenarios para la aplicación requieran acceso mediante programación y no se pueda hacer desde el selector de archivos.

La funcionalidad removableStorage debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><uap:Capability Name="removableStorage"/></Capabilities>
Internet y redes públicas* Hay dos funcionalidades que proporcionan diferentes niveles de acceso a las redes públicas y a Internet.

La funcionalidad internetClient indica que las aplicaciones pueden recibir datos entrantes de Internet. No puede actuar como servidor. Sin acceso a la red local.
La funcionalidad internetClientServer indica que las aplicaciones pueden recibir datos entrantes de Internet. Puede actuar como servidor. Sin acceso a la red local.

La mayoría de las aplicaciones con un componente de servicio web usarán internetClient. Las aplicaciones que habilitan escenarios punto a punto (P2P) donde la aplicación necesita escuchar las conexiones de red entrantes deben usar internetClientServer. La funcionalidad internetClientServer incluye el acceso que proporciona la funcionalidad internetClient, por lo que no es necesario especificar internetClient al especificar internetClientServer.
Redes domésticas y de trabajo* La funcionalidad privateNetworkClientServer proporciona acceso de entrada y salida a redes domésticas y de trabajo a través del firewall. Esta funcionalidad suele usarse para juegos que se comunican en una red de área local (LAN) y aplicaciones que comparten datos entre varios dispositivos locales. Si la aplicación especifica musicLibrary, picturesLibrary o videosLibrary, no necesitas usar esta funcionalidad para acceder a la biblioteca correspondiente en un grupo en el hogar. En Windows, esta funcionalidad no proporciona acceso a Internet.
Citas La funcionalidad appointments proporciona acceso al almacén de citas del usuario. Esta capacidad permite el acceso de lectura a citas obtenidas desde las cuentas de red sincronizadas y a otras aplicaciones que escriben en el almacén de citas. Con esta funcionalidad, la aplicación puede crear calendarios y anotar citas en los calendarios que crea.

La funcionalidad appointments debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><uap:Capability Name="appointments"/></Capabilities>
Contactos* La funcionalidad contacts proporciona acceso a la vista agregada de los contactos procedentes de varios almacenes de contactos. Esta funcionalidad ofrece a la aplicación un acceso limitado (se aplican las reglas de permisos de red) a los contactos que se sincronizaron de varias redes y el almacén de contactos local.

La funcionalidad contacts debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><uap:Capability Name="contacts"/></Capabilities>
Generación de código La funcionalidad codeGeneration permite a las aplicaciones acceder a las siguientes funciones, que proporcionan funcionalidades JIT a las aplicaciones.

VirtualProtectFromApp
CreateFileMappingFromApp
OpenFileMappingFromApp
MapViewOfFileFromApp
AllJoyn La funcionalidad allJoyn permite que dispositivos y aplicaciones habilitados para AllJoyn en una red se detecten e interactúen entre ellos.

Todas las aplicaciones que tienen acceso a las API en el espacio de nombres Windows.Devices.AllJoyn deben usar esta funcionalidad.
Llamadas telefónicas La funcionalidad phoneCall permite que las aplicaciones tengan acceso a todas las líneas telefónicas del dispositivo y que ejecuten las siguientes funciones.
  • Realiza una llamada en la línea telefónica y muestra el marcador del sistema sin pedir confirmación al usuario.
  • Obtener acceso a los metadatos relacionados con la línea.
  • Obtener acceso a los desencadenadores relacionados con la línea.
  • Permite que la aplicación de filtro de correo no deseado que haya seleccionado el usuario establezca y compruebe la lista de bloqueados y la información de origen de las llamadas.
La funcionalidad phoneCall debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

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

La funcionalidad phoneCallHistoryPublic permite a las aplicaciones leer la información del historial de llamadas de móvil y, en algunos casos, de VoIP, en el dispositivo. Esta funcionalidad también permite que la aplicación escriba entradas del historial de llamadas de VoIP. Esta funcionalidad es necesaria para acceder a todos los miembros de la clase PhoneCallHistoryStore.
Carpeta de llamadas grabadas* La funcionalidad de dispositivo recordedCallsFolder permite que las aplicaciones accedan a la carpeta de llamadas grabadas.

La funcionalidad recordedCallsFolder debe incluir el espacio de nombres mobile cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><mobile:Capability Name="recordedCallsFolder"/></Capabilities>
Información de cuenta de usuario* La funcionalidad userAccountInformation permite a las aplicaciones acceder al nombre del usuario y a la imagen.

Esta funcionalidad es necesaria para acceder a algunas API del espacio de nombres Windows.System.UserProfile.

La funcionalidad userAccountInformation debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><uap:Capability Name="userAccountInformation"/></Capabilities>
Llamada de VoIP La funcionalidad voipCall permite que las aplicaciones accedan a las API de llamadas de VoIP en el espacio de nombres Windows.ApplicationModel.Calls.

La funcionalidad voipCall debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><uap:Capability Name="voipCall"/></Capabilities>
Objetos 3D La funcionalidad objects3D permite a las aplicaciones acceder mediante programación a los archivos de objetos 3D. Esta funcionalidad se usa normalmente en aplicaciones 3D y juegos que necesitan tener acceso a toda la biblioteca de objetos 3D.

Esta funcionalidad es necesario para acceder a la carpeta que contiene los objetos 3D mediante las API en el espacio de nombres Windows.Storage.

La funcionalidad objects3D debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><uap:Capability Name="objects3D"/></Capabilities>
Acceso a mensajes de chat* La funcionalidad chat permite que las aplicaciones lean y eliminen mensajes de tipo SMS y MMS. Esta funcionalidad también permite a las aplicaciones almacenar los mensajes en el almacén de datos del sistema.

Igualmente, esta funcionalidad es necesaria para acceder a los mensajes mediante las API del espacio de nombres Windows.ApplicationModel.Chat.

La funcionalidad chat debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><uap:Capability Name="chat"/></Capabilities>
Leer mensajes bloqueados* La funcionalidad blockedChatMessages permite que las aplicaciones lean mensajes SMS y MMS bloqueados por la aplicación Filtro de correo no deseado.

Esta funcionalidad es necesaria para acceder a los mensajes bloqueados mediante las API del espacio de nombres Windows.ApplicationModel.Chat.

La funcionalidad blockedChatMessages debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><uap:Capability Name="blockedChatMessages"/></Capabilities>
Dispositivos personalizados La funcionalidad lowLevelDevices permite a las aplicaciones tener acceso a dispositivos personalizados cuando se cumplen varios requisitos adicionales. Esta funcionalidad no se debe confundir con la funcionalidad del dispositivo lowLevel, que permite el acceso a dispositivos GPIO, I2C, SPI y PWM.

Si desarrollas un controlador personalizado que expone una interfaz de dispositivo y quieres abrir un identificador para el dispositivo y enviar IOCTL, debes: Después, puedes usar Windows. Devices. Custom. CustomDevice para abrir un identificador para el dispositivo. Para obtener más información, consulta aplicaciones para dispositivos de UWP para dispositivos internos.
Administración del sistema IoT La funcionalidad systemManagement permite que las aplicaciones tengan privilegios básicos de administración del sistema, como apagar o reiniciar, configuración regional y zona horaria.

Esta funcionalidad es necesaria para acceder a algunas de las API del espacio de nombres Windows.System.

La funcionalidad systemManagement debe incluir el espacio de nombres iot cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><iot:Capability Name="systemManagement"/></Capabilities>
Reproducción de contenido multimedia en segundo plano La funcionalidad backgroundMediaPlayback cambia el comportamiento de las API específicas de multimedia, como las clases MediaPlayer y AudioGraph, para permitir la reproducción de multimedia mientras la aplicación está en segundo plano. Las secuencias de audio activas ya no se silenciarán, sino que seguirán siendo audibles cuando una aplicación pase a segundo plano. Además, el ciclo de vida de la aplicación se extenderá automáticamente mientras esté reproduciendo.
Sistema remoto La funcionalidad remoteSystem permite a las aplicaciones tener acceso a una lista de dispositivos asociados con la cuenta de Microsoft del usuario. El acceso a la lista de dispositivos es necesario para realizar operaciones que persistan entre distintos dispositivos. Esta funcionalidad es necesaria para acceder a todos los miembros de lo siguiente.
Percepción espacial La funcionalidad spatialPerception proporciona acceso mediante programación a los datos de asignación espacial, lo que da información a las aplicaciones de realidad mixta acerca de las superficies en las regiones especificadas de la aplicación del espacio que está cerca del usuario. Declara la funcionalidad spatialPerception solo cuando la aplicación vaya a usar de manera explícita estas mallas de superficie, ya que no se requiere la funcionalidad para que las aplicaciones de realidad mixta realicen la representación holográfica en función de la posición de la cabeza del usuario.
Control multimedia global La funcionalidad globalMediaControl permite a las aplicaciones tener acceso a las sesiones de reproducción en todo el sistema que se han integrado con SystemMediaTransportControls para proporcionar información de reproducción y permitir el control remoto. Esta funcionalidad es necesaria para usar algunas API en el espacio de nombres Windows.Media.Control. Esta funcionalidad se define en el elemento uap7:Capability.
Captura de gráficos La funcionalidad graphicsCapture permite que las aplicaciones realicen capturas de pantalla de ventanas o pantallas cuando el usuario lo permita. Esta funcionalidad es necesaria para usar el objeto Windows.Graphics.Capture.GraphicsCapturePicker. Esta funcionalidad se define en el elemento uap6:Capability.
Captura de gráficos sin borde La funcionalidad graphicsCaptureWithoutBorder permite a las aplicaciones realizar capturas de pantalla sin mostrar un borde de captura de pantalla alrededor de la ventana o la pantalla. Esta funcionalidad es necesaria para usar la propiedad Windows.Graphics.Capture.GraphicsCaptureSession.IsBorderRequired. Esta funcionalidad se define en el elemento uap11:Capability.
Captura de gráficos mediante programación La funcionalidad graphicsCaptureProgrammatic permite que las aplicaciones realicen capturas de pantalla de ventanas o pantallas por su cuenta. Esta funcionalidad es necesaria para crear un objeto Windows.Graphics.Capture.GraphicsCaptureItem de un elemento WindowId o DisplayId. Esta funcionalidad se define en el elemento uap11:Capability.
Tareas de datos de usuario La capacidad userDataTasks proporciona acceso a las API del espacio de nombres Windows.ApplicationModel.UserDataTasks, que proporciona acceso a los elementos de tarea almacenados en Windows mediante conexiones Exchange ActiveSync (EAS) y aplicaciones de otros proveedores.
Cliente de escucha de notificaciones de usuario La capacidad userNotificationListener proporciona acceso a las API del espacio de nombres Windows.UI.Notifications.Management, que permite la administración de notificaciones de usuario.

Funcionalidades del dispositivo

Las funcionalidades de dispositivo permiten a tu aplicación acceder a los periféricos y a los dispositivos internos. Las funcionalidades de dispositivo se especifican mediante elementos DeviceCapability en el manifiesto del paquete de la aplicación. Este elemento puede necesitar elementos secundarios adicionales y algunas funcionalidades de dispositivos deben agregarse al manifiesto del paquete manualmente. Para más información, consulta Cómo especificar funcionalidades de dispositivos en un manifiesto del paquete y la referencia de esquema DeviceCapability.

Nota

Puedes tener varios elementos DeviceCapability en el elemento Capabilities del manifiesto de paquete. Todos los elementos DeviceCapability deben aparecer después de cualquier elemento Capability y CustomCapability.

Escenario de funcionalidad Uso de la funcionalidad
Ubicación* La funcionalidad location proporciona acceso a las funciones de ubicación, la cual se obtiene desde hardware dedicado, como un sensor GPS en el equipo, o deriva de la información de red disponible. Las aplicaciones deben administrar el caso en el que el usuario haya deshabilitado los servicios de ubicación desde el acceso a Configuración.
Micrófono La funcionalidad microphone proporciona acceso a la fuente de audio del micrófono, lo que permite a la aplicación grabar audio de micrófonos conectados. Las aplicaciones deben administrar el caso en el que el usuario haya deshabilitado el micrófono desde el acceso a Configuración.
Proximidad La funcionalidad proximity permite la comunicación entre varios dispositivos que se encuentran cerca unos de otros. Esta funcionalidad se utiliza normalmente en juegos esporádicos de varios jugadores y en aplicaciones que intercambian información. Los dispositivos intentan usar la tecnología de comunicación que proporcione la mejor conexión posible, lo que incluye Bluetooth, Wi-Fi e Internet. Esta funcionalidad se usa solo para iniciar la comunicación entre los dispositivos.
Cámara web La funcionalidad webcam proporciona acceso a la fuente de vídeo de una cámara integrada o a una cámara web externa, que permite a la aplicación capturar fotos y vídeos. En Windows, las aplicaciones deben controlar el caso en el que el usuario haya deshabilitado la cámara desde el acceso a Configuración.
La funcionalidad webcam solo concede acceso a la secuencia de vídeo. Para conceder acceso también a la secuencia de audio, debe agregarse la funcionalidad microphone.
USB La funcionalidad del dispositivo usb permite acceder a las API que se indican en How to add USB device capabilities to the app manifest (Cómo agregar capacidades de dispositivo USB al manifiesto de la aplicación).
Dispositivo de interfaz humana (HID) La funcionalidad del dispositivo humaninterfacedevice permite acceder a las API que se indican en Cómo especificar funcionalidades de dispositivo para HID.
Punto de servicio (POS) La funcionalidad del dispositivo pointOfService permite acceder a las API del espacio de nombres Windows.Devices.PointOfService. Este espacio de nombres permite a tu aplicación acceder a lectores de códigos de barras POS y lectores de bandas magnéticas. El espacio de nombres ofrece una interfaz independiente del proveedor para acceder a dispositivos de PDV de diferentes fabricantes desde una aplicación para UWP.
Bluetooth La funcionalidad de dispositivos Bluetooth permite a las aplicaciones comunicarse con dispositivos Bluetooth ya emparejados sobre el protocolo de atributo genérico (GATT) o de velocidad básica clásico (RFCOMM).
Esta funcionalidad es necesaria para usar algunas API del espacio de nombres Windows.Devices.Bluetooth.
Redes Wi-Fi IMPORTANTE. La funcionalidad del dispositivo wiFiControl se verá afectada por los próximos cambios en el comportamiento del sistema operativo, previstos para otoño de 2024. Para más información, consulte Cambios en el comportamiento de la API para la ubicación y el acceso Wi-Fi.

La funcionalidad del dispositivo wiFiControl permite que las aplicaciones analicen y se conecten a redes Wi-Fi.
Esta funcionalidad es necesaria para usar algunas API del espacio de nombres Windows.Devices.WiFi.
Estado de radio La funcionalidad del dispositivo radios permite que las aplicaciones alternen entre las señales de radio Wi-Fi y Bluetooth.
Esta funcionalidad es necesaria para usar las API en el espacio de nombres Windows.Devices.Radios.
Disco óptico La funcionalidad del dispositivo optical permite a las aplicaciones acceder a las funciones de las unidades de disco ópticas como CD, DVD y Blu-Ray.
Esta funcionalidad es necesaria para usar algunas API del espacio de nombres Windows.Devices.Custom.
Actividad de movimiento La funcionalidad del dispositivo activity permite que las aplicaciones detecten el movimiento actual del dispositivo.
Esta funcionalidad es necesaria para usar algunas API del espacio de nombres Windows.Devices.Sensors.
Detección de presencia La funcionalidad del dispositivo humanPresence permite a las aplicaciones acceder a sensores de presencia en el dispositivo que pueden proporcionar información sobre la presencia y la interacción del usuario.
Esta funcionalidad es necesaria para usar algunas API del espacio de nombres Windows.Devices.Sensors.
Comunicación de serie La funcionalidad de dispositivo serialcommunication proporciona acceso a las API del espacio de nombres Windows.Devices.SerialCommunication, lo que permite a una aplicación de Windows comunicarse con un dispositivo que expone un puerto serie o alguna abstracción de un puerto serie. Esta funcionalidad es necesaria para usar las API en el espacio de nombres Windows.Devices.SerialCommnication.
Seguimiento ocular La funcionalidad gazeInput permite que las aplicaciones detecten dónde mira el usuario dentro de los límites de la aplicación cuando se conecta un dispositivo de seguimiento ocular compatible o en el caso de los dispositivos de realidad mixta que admiten el seguimiento de la mirada. Esta funcionalidad es necesaria para usar algunas API del espacio de nombres Windows.Devices.Input.Preview. En relación con los dispositivos de realidad mixta, esta funcionalidad es necesaria para las API de Windows.Perception.People.EyesPose.
GPIO, I2C, SPI y PWM La funcionalidad del dispositivo lowLevel proporciona acceso a dispositivos GPIO, I2C, SPI y PWM. Esta funcionalidad es necesaria para usar las API en los siguientes espacios de nombres: Windows.Devices.Gpio, Windows.Devices.I2c, Windows.Devices.Spi,Windows.Devices.Pwm.

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

Funcionalidades restringidas

Si la aplicación declara cualquier funcionalidad restringida, debe proporcionar información durante el proceso de envío de aplicación para que se apruebe su publicación en Microsoft Store. Esta información se proporciona en la página Opciones de envío del envío y se explica cómo usa la aplicación cada funcionalidad restringida que declara.

Importante

Las funcionalidades restringidas están indicadas para escenarios muy específicos. El uso de estas funcionalidades se encuentra muy restringido y está sujeto a revisión y a directivas de incorporación adicionales de la Tienda. Ten en cuenta que puedes realizar la instalación de prueba de las aplicaciones que declaran funcionalidades restringidas sin necesidad de recibir ninguna aprobación. La aprobación solo es necesaria cuando se envían estas aplicaciones a Store.

Asegúrate de no declarar estas funcionalidades restringidas a menos que la aplicación realmente las necesite. Hay casos en los que estas funcionalidades son necesarias y apropiadas, como en aplicaciones de banca con autenticación de dos factores, en las que los usuarios proporcionan una tarjeta inteligente con un certificado digital que confirma su identidad. Es posible que otras aplicaciones se hayan diseñado principalmente para empresas y precisen acceder a recursos corporativos a los que no es posible acceder sin las credenciales de dominio del usuario.

Para declarar una funcionalidad restringida, modifica el archivo de origen del manifiesto de paquete de aplicación (Package.appxmanifest). Agrega la declaración de espacio de nombres XML xmlns:rescap y usa el prefijo rescap cuando declares tu funcionalidad restringida. Por ejemplo, aquí se muestra la manera de declarar la funcionalidad 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

Todos los elementos de funcionalidad restringida deben situarse antes de cualquier elemento CustomCapability y DeviceCapability en el nodo Capabilities del manifiesto de paquete.

Proceso de aprobación de funcionalidad restringida

Anteriormente, solicitábamos que te pusieras en contacto con el soporte técnico para obtener la aprobación para usar una funcionalidad. Ahora puedes proporcionar esta información en el Centro de partners como parte del proceso de envío.

Al cargar paquetes para el envío, detectaremos si se declaran funcionalidades restringidas. Si lo hacemos,se te pedirá que proporciones detalles acerca de cómo usa tu producto cada funcionalidad la página Opciones de envío. Asegúrate de incluir tantos detalles como sea posible para ayudarnos a comprender por qué el producto tiene que declarar la funcionalidad. Ten en cuenta que esto demora el envío para completar el proceso de certificación.

Durante el proceso de certificación, nuestros evaluadores revisarán la información que proporciones para determinar si se aprueba el envío para usar la funcionalidad. Ten en cuenta que esto demora el envío para completar el proceso de certificación. Si aprobamos el uso de la funcionalidad, tu aplicación continuará el resto del proceso de certificación. Por lo general, no tendrás que repetir el proceso de aprobación de funcionalidad al enviar actualizaciones realizadas en la aplicación (a menos que declares funcionalidades adicionales).

Si no aprobamos el uso de la funcionalidad, tu envío no pasará la certificación e incluiremos comentarios en el informe de certificación. A continuación, tienes la opción de crear un nuevo envío y cargar los paquetes que no declaren la funcionalidad o, si procede, solucionar los problemas relacionados con el uso de la funcionalidad y solicitar la autorización en un nuevo envío.

Nota

Si tu envío usa un espacio aislado de desarrollo en el Centro de partners (por ejemplo, este es el caso de cualquier juego que se integra con Xbox Live), debes solicitar la aprobación por adelantado, en lugar de proporcionar información en la página Opciones de envío. Puede solicitar aprobación con antelación si va a publicar un juego en Xbox a través de ID@Xbox o como asociado administrado. Para ello, póngase en contacto con el equipo de cuentas de Microsoft.

El equipo necesitará una breve descripción de cómo utiliza la capacidad y por qué es necesaria para su producto. Si no proporcionas toda la información necesaria, tu solicitud se denegará. También es posible que se te pida que proporciones más información. Ten en cuenta que este proceso, normalmente, tarda 5 días laborables o más, por lo que debes enviar solicitud con antelación.

También puedes usar este método para solicitar la aprobación (en lugar de proporcionar esta información durante el envío), independientemente de si estás usando un espacio aislado de desarrollo, si prefieres confirmar que tienes aprobación para usar una capacidad restringida antes de iniciar el envío.

Lista de funcionalidades restringidas

La siguiente tabla enumera las funcionalidades restringidas. Puedes solicitar la aprobación de estas funcionalidades en las aplicaciones que envías a Store siguiendo el proceso descrito anteriormente.

Importante

Algunas de estas funcionalidades restringidas casi nunca se aprueban para aplicaciones enviadas a Store, salvo en circunstancias muy concretas y limitadas. Estas funcionalidades se explican en la tabla siguiente. Recomendamos no declarar estas funcionalidades en la aplicación si piensas distribuirla mediante Store.

Escenario de funcionalidad Uso de la funcionalidad
Empresa Las credenciales de dominio de Windows permiten al usuario usar sus credenciales para iniciar sesión en recursos remotos y funcionan como si el usuario hubiera proporcionado su nombre de usuario y su contraseña. La funcionalidad enterpriseAuthentication se utiliza, normalmente, en aplicaciones de línea de negocio que se conectan a los servidores de una empresa.

No necesitas esta funcionalidad para la comunicación genérica a través de Internet.

La funcionalidad enterpriseAuthentication está prevista para admitir aplicaciones comunes de línea de negocio. No la declares en aplicaciones que no necesiten acceder a recursos de empresa. El selector de archivos proporciona un sólido mecanismo de interfaz de usuario que permite a los usuarios abrir archivos en un recurso compartido de red para usarlos con una aplicación. Declara la funcionalidad enterpriseAuthentication solo cuando los escenarios de la aplicación requieran acceso mediante programación y no puedas llevarlos a cabo con el selector de archivos.

La funcionalidad enterpriseAuthentication debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

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

Esta funcionalidad es necesaria para llamar a la función GetUserNameEx.

La funcionalidad enterpriseDataPolicy permite a las aplicaciones controlar datos empresariales por separado y de forma segura cuando la aplicación se administra con la directiva de Windows Information Protection (por ejemplo: sistemas de administración de dispositivos móviles y de administración de aplicaciones móviles). Declara esta funcionalidad restringida como se muestra a continuación.

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

Esta funcionalidad es necesaria para usar a todos los miembros de las siguientes clases.
Certificados de usuario compartidos La funcionalidad sharedUserCertificates permite a una aplicación agregar certificados de software y hardware al almacén de usuario compartido, tales como certificados almacenados en una tarjeta inteligente, así como acceder a estos. Esta funcionalidad suele usarse para aplicaciones empresariales o financieras que requieren una tarjeta inteligente para la autenticación.

La funcionalidad sharedUserCertificates debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><uap:Capability Name="sharedUserCertificates"/></Capabilities>
Documentos* La funcionalidad documentsLibrary proporciona acceso mediante programación a la biblioteca de Documentos del usuario, filtrada para las asociaciones de tipo de archivo declaradas en el manifiesto de paquete. Por ejemplo, si una aplicación de procesamiento de textos declara una asociación de tipo de archivo .doc, puede abrir archivos .doc en la biblioteca Documentos del usuario.

La funcionalidad documentsLibrarysolo es necesaria si la aplicación accede mediante programación a la biblioteca de documentos sin la intervención del usuario. No se necesita la funcionalidad documentsLibrary para acceder a la biblioteca de documentos si el usuario la selecciona con una API de selector. Por lo general, las aplicaciones deben permitir que el usuario elija la ubicación de sus archivos mediante una de las siguientes API de selector: El uso de estas API permite al usuario elegir la ubicación que mejor se adapte a ellas, como una cuenta sincronizada en la nube (p. ej., OneDrive). Después de que el usuario haya seleccionado un archivo o una carpeta mediante estas API, la aplicación puede obtener acceso continuo a la ubicación mediante la API FutureAccessList. Esta API permite a la aplicación acceder a los archivos o carpetas en el futuro sin pedir al usuario que los vuelva a seleccionar.

En los casos en que los flujos de trabajo existentes asuman que los archivos se incluirán en la biblioteca Documentos (por ejemplo, interoperabilidad con una aplicación de escritorio existente) o en que no quieras que el usuario tenga que elegir la ubicación, puedes declarar la funcionalidad documentsLibrary para la aplicación. Si usas la funcionalidad documentsLibrary para la aplicación, se recomienda que también permitas que el usuario seleccione las ubicaciones manualmente.

La funcionalidad documentsLibrary debe incluir el espacio de nombres uap cuando la declares en el manifiesto del paquete de la aplicación, como se muestra a continuación.

<Capabilities><uap:Capability Name="documentsLibrary"/></Capabilities>
Configuración de Game DVR La funcionalidad restringida appCaptureSettings permite a las aplicaciones controlar la configuración de usuario del Game DVR.

Esta funcionalidad es necesaria para usar algunas API del espacio de nombres Windows.Media.Capture.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Red móvil La funcionalidad restringida cellularDeviceControl permite a las aplicaciones controlar el dispositivo de telefonía móvil.

La funcionalidad cellularDeviceIdentity permite que las aplicaciones tengan acceso a los datos de identificación del dispositivo móvil.

La funcionalidad cellularMessaging permite a las aplicaciones hacer uso de SMS y el RCS.

Estas funcionalidades son necesarias para usar algunas API en los espacios de nombres Windows.Devices.Sms.
Desbloqueo del dispositivo La funcionalidad restringida deviceUnlock permite a las aplicaciones desbloquear un dispositivo para escenarios de instalación de prueba de desarrolladores y empresas.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Iconos de SIM dual La funcionalidad restringida dualSimTiles permite a las aplicaciones crear una entrada de lista de aplicaciones adicional en los dispositivos que dispongan de varias tarjetas SIM.

Esta funcionalidad es necesaria para usar algunas API del espacio de nombres Windows.UI.StartScreen.
Almacenamiento compartido de empresa La funcionalidad restringida enterpriseDeviceLockdown permite a las aplicaciones usar la API de bloqueo del dispositivo y acceder a las carpetas de almacenamiento compartido de empresa.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Inserción de entrada del sistema La funcionalidad restringida inputInjectionBrokered permite que las aplicaciones inserten diversas formas de entrada (como HID, entrada táctil, lápiz, teclado o mouse) en el sistema mediante programación. Esta funcionalidad se suele usar con las aplicaciones de colaboración que pueden tomar el control del sistema.

En un equipo, la inserción de entrada de una aplicación con esta funcionalidad solo la recibirán los procesos que residan en el mismo contenedor de aplicación.

<Capabilities><rescap:Capability Name="inputInjectionBrokered" /></Capabilities>
Observación de entrada* La funcionalidad restringida inputObservation permite a las aplicaciones observar diversas formas de entrada sin procesar (como HID, entrada táctil, lápiz, teclado o mouse) que reciba el sistema, independientemente de su destino final.

Esta funcionalidad y las API relacionadas con ella solo están disponibles para determinados asociados de Microsoft.
Suprimir entrada La funcionalidad restringida inputSuppression permite a las aplicaciones suprimir diversas formas de entrada sin procesar (como HID, entrada táctil, lápiz, teclado o mouse) para evitar que el sistema las reciba.

Esta funcionalidad y las API relacionadas con ella solo están disponibles para determinados asociados de Microsoft.
Aplicación VPN La funcionalidad restringida networkingVpnProvider permite a las aplicaciones tener acceso completo a las características VPN, por ejemplo, la capacidad para administrar las conexiones y proporcionar una funcionalidad de complementos de VPN.

Esta funcionalidad es necesaria para usar algunas API del espacio de nombres Windows.Networking.Vpn.
Administración de otras aplicaciones La funcionalidad restringida packageManagement permite a las aplicaciones administrar otras aplicaciones directamente.

La funcionalidad del dispositivo packageQuery permite que las aplicaciones recopilen información sobre otras aplicaciones.

Estas funcionalidades son necesarias para acceder a algunos métodos y propiedades de la clase PackageManager.
Proyección de pantalla La funcionalidad restringida screenDuplication permite a las aplicaciones proyectar la pantalla en otro dispositivo.

Esta funcionalidad es necesaria para usar las API del espacio de nombres DirectX.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Nombre principal del usuario La funcionalidad restringida userPrincipalName permite a las aplicaciones acceder al nombre principal de usuario (UPN) del usuario actual.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Cartera La funcionalidad restringida walletSystem permite a las aplicaciones tener acceso completo a las tarjetas de Cartera almacenadas.

Esta funcionalidad es necesaria para usar algunas API del espacio de nombres Windows.ApplicationModel.Wallet.System.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Historial de ubicaciones La funcionalidad restringida locationHistory permite a las aplicaciones acceder al historial de ubicaciones del dispositivo.

Esta funcionalidad es necesaria para usar las API en el espacio de nombres Windows.Devices.Geolocation.
Confirmación de cierre de la aplicación La funcionalidad restringida confirmAppClose permite a las aplicaciones cerrarse ellas mismas, cerrar sus propias ventanas y retrasar el cierre de la aplicación.

Las aplicaciones pueden solicitar esta funcionalidad en Windows 10 versión 1703 (compilación 10.0.15063) y versiones posteriores. En las versiones anteriores de Windows 10, la funcionalidad es privada y provocará que la instalación de la aplicación devuelva el mensaje de error "No se puede autorizar la función solicitada para esta aplicación".
Historial de llamadas* La funcionalidad restringida phoneCallHistory permite a las aplicaciones leer el historial de llamadas y eliminar entradas en el historial de llamadas.

Esta funcionalidad es necesaria para usar las API del espacio de nombres Windows.ApplicationModel.Chat.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Acceso a citas de nivel de sistema La funcionalidad restringida appointmentsSystem permite a las aplicaciones leer y modificar todas las citas del calendario del usuario.

Esta funcionalidad es necesaria para usar las API del espacio de nombres Windows.ApplicationModel.Appointment.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Acceso a los mensajes de chat de nivel de sistema* La funcionalidad restringida chatSystem permite a las aplicaciones leer y escribir todos los mensajes SMS y MMS.
Esta funcionalidad es necesaria para usar las API del espacio de nombres Windows.ApplicationModel.Chat.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Acceso a contactos de nivel del sistema La funcionalidad restringida contactsSystem permite a las aplicaciones leer información de contacto que se haya establecido como confidencial o restringida y modificar la información de los contactos existentes.

Esta funcionalidad es necesaria para usar las API del espacio de nombres Windows.ApplicationModel.Chat.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Acceso al correo electrónico La funcionalidad restringida email permite a las aplicaciones leer, clasificar y enviar correos electrónicos del usuario.

Esta funcionalidad es necesaria para usar las API del espacio de nombres Windows.ApplicationModel.Email.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Acceso a correo electrónico de nivel de sistema La funcionalidad restringida emailSystem permite a las aplicaciones leer, clasificar y enviar correos electrónicos del usuario confidenciales o restringidos.

Esta funcionalidad es necesaria para usar las API del espacio de nombres Windows.ApplicationModel.Email.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Acceso al historial de llamadas de nivel de sistema La funcionalidad restringida phoneCallHistorySystem permite a las aplicaciones modificar completamente el historial de llamadas al cambiar las entradas existentes y escribir otras nuevas.

Esta funcionalidad es necesaria para usar las API del espacio de nombres Windows.ApplicationModel.Calls.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Enviar mensajes de texto* La funcionalidad restringida smsSend permite a las aplicaciones enviar mensajes SMS y MMS.

Esta funcionalidad es necesaria para usar las API del espacio de nombres Windows.ApplicationModel.Chat.
Acceso a todos los datos de usuario de nivel de sistema La funcionalidad restringida userDataSystem permite a las aplicaciones acceder al almacén de datos del sistema del usuario.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Características de vista previa de la Tienda La funcionalidad restringida previewStore permite a las aplicaciones recuperar y comprar SKU de productos desde la aplicación.

Esta funcionalidad es necesaria para usar algunas API del espacio de nombres Windows.ApplicationModel.Store.Preview.
Configuración de primer inicio de sesión La funcionalidad restringida firstSignInSettings permite a las aplicaciones acceder a la configuración de usuario que se estableciera cuando el usuario inició sesión por primera en su dispositivo.
Experiencia del Equipo de Windows La funcionalidad restringida teamEditionExperience permite a las aplicaciones obtener acceso a API internas que controlan muchos aspectos experimentales de una sesión del Equipo de Windows. Es probable que se ejecute una sesión del Equipo de Windows en un dispositivo de equipo como, por ejemplo, Microsoft Surface Hub.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Desbloqueo remoto La funcionalidad restringida remotePassportAuthentication permite a las aplicaciones obtener acceso a las credenciales que pueden usarse para desbloquear un equipo remoto.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Composición de vista previa La funcionalidad restringida previewUiComposition permite a las aplicaciones obtener una vista previa del espacio de nombres Windows.UI.Composition para su interfaz de usuario, de modo que puedan proporcionar comentarios sobre la API antes de que se complete. Ponte en contacto con wincomposition@microsoft.com para obtener más información.
Bloqueo de evaluaciones seguras La funcionalidad restringida secureAssessment permite que las aplicaciones bloqueen Windows en un modo de aplicación única para realizar evaluaciones seguras.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Aprovisionamiento del administrador de conexiones La funcionalidad restringida networkConnectionManagerProvisioning permite a las aplicaciones definir las directivas que conectan el dispositivo a las interfaces WWAN y WLAN. Los operadores de telefonía móvil crean aplicaciones que usan esta funcionalidad para controlar los dispositivos que se conectan a su red móvil.
Aprovisionamiento de plan de datos La funcionalidad restringida networkDataPlanProvisioning permite a las aplicaciones recopilar información sobre los planes de datos en el dispositivo y leer el uso de la red. Los operadores de telefonía móvil crean las aplicaciones que usan esta funcionalidad para integrar el uso real de datos de sus clientes en la configuración de uso de datos del sistema operativo.
Licencias de software La funcionalidad restringida slapiQueryLicenseValue permite a las aplicaciones consultar directivas de licencias de software.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Ejecución ampliada La funcionalidad restringida extendedBackgroundTaskTime impide que las tareas en segundo plano se cancelen o se finalicen debido a los límites de tiempo de ejecución. Siguen sujetas al resto de límites de consumo de energía y memoria. Esta funcionalidad se puede restringir mediante la configuración del uso de la batería o la de las aplicaciones de privacidad en segundo plano. Ten en cuenta que los usuarios y los administradores aún tienen la capacidad de controlar las tareas en segundo plano a través de la configuración de la directiva de grupo.

La funcionalidad restringida extendedExecutionBackgroundAudio permite a las aplicaciones reproducir audio cuando la aplicación no está en primer plano.

La funcionalidad restringida extendedExecutionCritical permite que las aplicaciones comiencen una sesión de ejecución crítica ampliada.

La funcionalidad restringida extendedExecutionUnconstrained permite a las aplicaciones comenzar una sesión de ejecución ampliada sin restricciones.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.

Consulta Aplazar la suspensión de la aplicación con ejecución ampliada si quieres obtener más información acerca de cómo usar la ejecución extendida para posponer el momento en que se suspende la aplicación.
Administración de dispositivos móviles La funcionalidad restringida deviceManagementDmAccount permite a las aplicaciones aprovisionar y configurar cuentas de Mobile Operator Open Mobile Alliance - Device Management (MO OMA-DM).

La funcionalidad restringida deviceManagementFoundation permite que las aplicaciones tengan acceso básico a la infraestructura de proveedor de servicios de configuración (CSP) de Mobile Device Management (MDM) en el dispositivo. Ten en cuenta que se necesitan otras funcionalidades para obtener acceso a los CSP específicos.

La funcionalidad restringida deviceManagementWapSecurityPolicies permite que las aplicaciones configuren servicios basados en el protocolo de aplicación inalámbrica (WAP), como MMS, Service Indication/Service Loading (SI/SL) y Open Mobile Alliance - Client Provisioning (OMA-CP).

La funcionalidad restringida deviceManagementEmailAccount permite a las aplicaciones creadas por los operadores de telefonía móvil agregar y administrar una cuenta de correo electrónico en dispositivos que aprovisionen a los usuarios.
Control de directivas de paquete La funcionalidad restringida packagePolicySystem permite a las aplicaciones tener el control de las directivas del sistema relacionadas con aplicaciones instaladas en el dispositivo.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Lista de juegos La funcionalidad restringida gameList permite a las aplicaciones obtener una lista de juegos conocidos instalados en el sistema.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Accesorio de Xbox La funcionalidad restringida xboxAccessoryManagement permite a las aplicaciones administrar directamente dispositivos de Xbox que cumplan con las especificaciones de hardware de Xbox.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Reconocimiento de voz para accesorios La funcionalidad restringida cortanaSpeechAccessory permite a las aplicaciones invocar y pasar comandos a Cortana.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Administración de accesorios La funcionalidad restringida accessoryManager permite a las aplicaciones registrarse como una aplicación para accesorio y optar por recibir notificaciones de aplicaciones específicas, para que puedan reenviarse a los accesorios y mostrarse al usuario.
Acceso a controladores La funcionalidad restringida interopServices permite a las aplicaciones interactuar directamente con los controladores.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Observación en primer plano La funcionalidad restringida inputForegroundObservation permite a las aplicaciones en primer plano interceptar la entrada de teclado y omite el procesamiento de todas las entradas de teclado que no sean de la aplicación. Esta funcionalidad no puede interceptar las combinaciones SAS. Esta funcionalidad es necesaria para acceder a todos los miembros de la clase KeyboardDeliveryInterceptor.
Aplicaciones de socios OEM y OM La funcionalidad restringida oemDeployment permite a las aplicaciones creadas por partners de Microsoft instalar aplicaciones nuevas y consultar las aplicaciones instaladas actualmente en el dispositivo.

La funcionalidad restringida oemPublicDirectory permite a las aplicaciones creadas por los partners de Microsoft acceder a la carpeta de aplicaciones compartida. No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Licencias de aplicaciones La funcionalidad restringida appLicensing permite ejecutar aplicaciones sin necesidad de una licencia. No puedes enviar tu aplicación a la Tienda si declaras esta funcionalidad en el manifiesto.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Sistema de ubicación La funcionalidad restringida locationSystem permite que las aplicaciones realicen determinadas configuraciones de ubicación privilegiadas, como establecer la ubicación predeterminada del dispositivo.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Proveedor de cuentas de datos de usuario La funcionalidad restringida userDataAccountsProvider permite a las aplicaciones administrar por completo las cuentas de contactos, calendario y correo.
Área de trabajo de lápiz La funcionalidad previewPenWorkspace permite a una aplicación obtener acceso al espacio de nombres Windows.ApplicationModel.Preview.Notes que se hospedará en eel área de trabajo de lápiz como el controlador de la acción de recordar.
Factor de autenticación secundario La funcionalidad secondaryAuthenticationFactor permite a una aplicación desbloquear un equipo pasando el almacén secreto en un dispositivo de autenticación complementario cercano. Por ejemplo, una pulsera de actividad física complementaria puede usarse para desbloquear el equipo. Esta funcionalidad es necesaria para acceder a las API del espacio de nombres Windows.Security.Authentication.Identity.Provider.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Administración de licencias de Store La funcionalidad storeLicenseManagement permite a las aplicaciones de concentrador de partners de Microsoft administrar las licencias de la Tienda que haya en el dispositivo. Esta funcionalidad es necesaria para tener acceso a las API del espacio de nombres Windows.ApplicationModel.Store.LicenseManagement.
Identificador del sistema del usuario La funcionalidad userSystemId permite a las aplicaciones obtener un identificador del sistema específico para el usuario. Este identificador identifica de forma exclusiva al usuario actual en un determinado sistema y puede usarse para correlacionar la información en distintas aplicaciones. Esta capacidad es necesaria para acceder al método SystemIdentification.GetSystemIdForUser(User).
Contenido de destino La funcionalidad targetedContent proporciona a la aplicación la capacidad de recuperar y usar el contenido de la suscripción de destino que proporcionó el espacio de nombres Windows.Services.TargetedContent.

Esta funcionalidad es necesaria para usar algunas API del espacio de nombres Windows.System.Profile.SystemIdentification.
Automatización de la interfaz de usuario La funcionalidad uiAutomation permite que un cliente de automatización de la interfaz de usuario, como el Narrador, se conecte a un servidor o proveedor para la automatización de la interfaz de usuario.

Esta funcionalidad es necesaria para usar algunas API del espacio de nombres Windows.Xbox.Media.Capture.Broadcaster.
Servicios de la barra de juegos La funcionalidad gameBarServices está limitada a los UWA de la bandeja de entrada actualizable de la propia tienda.

Esta funcionalidad es necesaria para usar la clase Windows.Media.Capture.GameBarsSrvices.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Servicios de captura de aplicaciones La capacidad appCaptureServices se limita a las partes con las que Microsoft tiene relaciones contractuales. Estas relaciones se conceden en función de los acuerdos entre asociados que se llevan a cabo con la ayuda de los Servicios de Xbox y bizdev.

Esta funcionalidad es necesaria para usar la clase Windows.Media.Capture.AppCaptureServices.
Servicios de difusión de aplicaciones La funcionalidad appBroadcastServices está limitada a aquellas partes con las que Microsoft tiene relaciones contractuales. Estas relaciones se conceden en función de los acuerdos entre asociados, que se llevan a cabo con la ayuda de los Servicios de Xbox.

Esta funcionalidad es necesaria para usar la clase Windows.Media.capture.AppBroadcastServices.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Configuración de dispositivos de audio La funcionalidad audioDeviceConfiguration permite que una aplicación consulte, configure, habilite y deshabilite los efectos de audio que ofrece el controlador de audio.

Esta funcionalidad es necesaria para usar la clase Windows.Media.Devices.AudioDeviceModulesManager.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad. Esto se debe a que AudioDeviceModulesManager permite que una aplicación tenga acceso a todos los efectos de audio de un sistema determinado. Ten en cuenta que es posible que los efectos de audio configurados afecten de forma negativa al rendimiento de audio del dispositivo.
Grabación de contenido multimedia en segundo plano La funcionalidad backgroundMediaRecording cambia el comportamiento de las API específicas de contenido multimedia, como las clases MediaCapture y AudioGraph para permitir la grabación de contenido multimedia mientras la aplicación está en segundo plano.
Área de trabajo de entrada de lápiz en versión preliminar La funcionalidad previewInkWorkspace permite que una aplicación tenga acceso al espacio de nombres de entrada de lápiz en versión preliminar hospedado en el área de trabajo de entrada de lápiz. Por lo general, un OEM usa esto para reemplazar la aplicación de la pizarra interactiva de un dispositivo.

Esta funcionalidad es necesaria para usar las API del espacio de nombres Windows.ApplicationModel.Preview.InkWorkspace.
Administración de la pantalla Inicio La funcionalidad startScreenManagement permite que las aplicaciones anclen de forma silenciosa iconos a la pantalla Inicio. Asimismo, también se pueden anclar las aplicaciones en segundo plano. Si no se tiene la funcionalidad startScreenManagement, no se bloqueará ninguna API; es más, si se usa startScreenManagement, el Shell no mostrará ninguna interfaz de usuario cuando una aplicación use la API de anclaje.
Permisos de Cortana La funcionalidad cortanaPermissions permite que una aplicación enumere los permisos que el usuario ha concedido a Cortana en el dispositivo. Asimismo, esta funcionalidad también permite que la aplicación conceda o revoque permisos de Cortana en el dispositivo. Ten en cuenta que, si usas cortanaPermissions, el dispositivo mostrará un texto legal antes de conceder los permisos. Así pues, es responsabilidad de la aplicación informar al usuario de las consecuencias legales que acarrea modificar los permisos.


Esta funcionalidad es necesaria para tener acceso de lectura a la configuración del Registro HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Todos los módulos de aplicación La funcionalidad allAppMods permite que una aplicación acceda a la carpeta AppMods de todas las aplicaciones. Las utilidades para la administración de módulos usan allAppMods para administrar módulos fuera del juego o de la aplicación que los usan.
Recursos ampliados La funcionalidad expandedResources permite que una aplicación tenga acceso a los recursos del modo de juego. En Xbox y en aquellos equipos que cumplan los requisitos necesarios, los recursos del modo de juego representan un subconjunto formado por los núcleos de CPU disponibles reservados para uso exclusivo de la aplicación. En Xbox, la aplicación también usa de forma exclusiva una partición de memoria de al menos 4 GB.

Esta funcionalidad es necesaria para poder usar de forma exclusiva la CPU y los recursos de memoria que se detallaron anteriormente.
Aplicación protegida La funcionalidad protectedApp otorga a una aplicación la capacidad de cargarse en un proceso protegido por Store. Cuando la aplicación se añade a Store, esta ultima agrega un blob al archivo ejecutable. Igualmente, Store firma el archivo ejecutable con una clave de Microsoft. El cargador del proceso busca el blob antes que la funcionalidad para así asegurarse de que se aplica el proceso protegido, ya que el blob necesita una firma de Microsoft.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Monitor de juegos Con la funcionalidad gameMonitor, el sistema usa la opción de supervisión activa para detectar si la aplicación hace trampas en el juego.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Diagnósticos de aplicaciones La funcionalidad appDiagnostics permite que una aplicación obtenga información de diagnóstico (por ejemplo, información del paquete, uso de la memoria y nombre de cuenta) de cualquier otra aplicación para UWP que se esté ejecutando. La información devuelta incluye el nombre de cuenta de dominio o máquina en que se está ejecutando la aplicación. Si se usan derechos de administrador para iniciar la aplicación que llama, esta podrá recuperar una lista de todas las aplicaciones que se estén ejecutando en todas las cuentas del equipo.

Esta funcionalidad es necesaria para usar las clases Windows.System.AppDiagnosticInfo, Windows.System.AppDiagnosticInfo.RequestAppDiagnosticInfoAsync y Windows.ApplicationModel.AppInfo.
Proveedores del Portal de dispositivos La funcionalidad devicePortalProvider permite que las aplicaciones llamen a las API Windows.System.Diagnostics.DevicePortal y funcionen como un servidor web de las herramientas de diagnóstico mientras está activado el modo de desarrollador.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Inicio de sesión único de nube empresarial La funcionalidad enterpriseCloudSSO permite a las aplicaciones usar el inicio de sesión único con recursos de Azure Active Directory (AAD) dentro de un control de vista web hospedada.
Aceptar automáticamente llamadas de VoIP La funcionalidad backgroundVoIP te permite recibir y aceptar automáticamente llamadas de VoIP entrantes sin tener que pedir al usuario que acepte la llamada de forma explícita. A las aplicaciones que usan esta funcionalidad se les concede el control total de la cámara y del micrófono, y pueden usar estos recursos en segundo plano.

No recomendamos declarar esta funcionalidad en las aplicaciones enviadas a Microsoft Store. Para la mayoría de los desarrolladores, el uso de esta funcionalidad no se aprobará.
Reservar recursos para llamadas de VoIP La funcionalidad oneProcessVoIP permite reservar los recursos de memoria y CPU necesarios para una llamada de VoIP en una aplicación de un solo proceso.

No recomendamos declarar esta funcionalidad en las aplicaciones enviadas a Microsoft Store. Para la mayoría de los desarrolladores, el uso de esta funcionalidad no se aprobará.
Red del modo de desarrollo La funcionalidad developmentModeNetwork permite que las aplicaciones tengan acceso a las rutas de acceso de red con las credenciales del usuario que inició sesión al llamar a la API de Win32 OpenFile en una aplicación para UWP C++/CX o componente de Windows Runtime en C++.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Amplio acceso al sistema de archivos La funcionalidad broadFileSystemAccess permite que las aplicaciones obtengan el mismo acceso al sistema de archivos que el usuario que está ejecutando la aplicación actualmente sin ningún mensaje de estilo de selector de archivos adicional en tiempo de ejecución. Es importante tener en cuenta que esta funcionalidad no es necesaria para tener acceso a los archivos que el usuario ya ha elegido mediante FilePicker o FolderPicker.

Esta funcionalidad funciona para las API de Windows.Storage. Debido a que los usuarios pueden conceder o denegar el permiso en cualquier momento en Configuración, debes asegurarte de que tu aplicación sea flexible frente a esos cambios. En la actualización de abril de 2018, el valor predeterminado para el permiso es Activado. En la actualización de octubre de 2018, el valor predeterminado es Desactivado. También es importante no declarar funcionalidades de carpetas especiales, como Documentos, Imágenes o Vídeos con esta funcionalidad. Para habilitar esta funcionalidad en la aplicación, agrega broadFileSystemAccess al manifiesto. Para obtener un ejemplo, consulta el artículo Permisos de acceso de archivos.

En la mayoría de los casos, para obtener acceso a las ubicaciones del sistema de archivos, la aplicación puede usar las API FileOpenPicker, FileSavePicker, FolderPicker y FutureAccessList. Si quiere solicitar la aprobación para usar la funcionalidad broadFileSystemAccess, debe proporcionar motivos específicos para saber por qué esas API no son suficientes para sus necesidades.

Nota: Esta funcionalidad no es compatible con Xbox.
Firmware del sistema y BIOS La funcionalidad smbios permite que las aplicaciones tengan acceso a los datos de la BIOS y del firmware del sistema.
Nivel de permiso de plena confianza Esta es la capacidad restringida runFullTrust. Los términos se definen a continuación, pero, en resumen, un paquete necesita esta capacidad si el paquete usa características que deben ser de plena confianza. Un ejemplo común es un paquete que contiene una o varias aplicaciones de plena confianza. La capacidad restringida runFullTrust permite instalar un paquete similar al mencionado en un equipo.

Una aplicación de plena confianza es aquella que establece uap10:TrustLevel en mediumIL (consulte el elemento Application). Una aplicación de plena confianza cuenta con un proceso que se ejecuta con un nivel de integridad de nivel medio (consulte el Control de integridad obligatoria). Asimismo, un paquete es un elemento .appx o un paquete MSIX (consulte Creación de un paquete MSIX a partir del código).

Otro ejemplo en el que se necesita esta capacidad es un paquete con una categoría de extensión windows.firewallRules (consulte desktop2:Extension). Esto se considera una característica de plena confianza y, en ese ejemplo, cabe destacar que no hay ninguna aplicación que activar y ningún proceso para iniciarse.

Para usar la clase FullTrustProcessLauncher, también se requiere esta capacidad.
Elevación La funcionalidad restringida allowElevation permite a las aplicaciones creadas por empresas y asociados de Microsoft conservar la funcionalidad de escritorio existente que requiere la elevación automática en el inicio o durante la vigencia de una aplicación.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad. Solo se aprobará para las aplicaciones de línea de negocio implementadas por las empresas en su almacén privado mediante Microsoft Store para Empresas.
Credenciales de dispositivo de equipo de Windows La funcionalidad restringida teamEditionDeviceCredential permite a las aplicaciones tener acceso a las API que solicitan las credenciales de la cuenta del dispositivo en un dispositivo Surface Hub que ejecute Windows 10, versión 1703 o posterior.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Vista de aplicación de equipo de Windows La funcionalidad restringida teamEditionView permite a las aplicaciones tener acceso a API para hospedar una vista de aplicaciones en un dispositivo Surface Hub que ejecute Windows 10, versión 1703 o posterior.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Extensión de procesamiento de cámara La funcionalidad restringida cameraProcessingExtension permite a las aplicaciones procesar imágenes capturadas desde la cámara sin el control directo de la cámara.

Esta funcionalidad es necesaria para llamar a las API del espacio de nombres Windows.Devices.PointOfService.Provider.

Cualquier persona puede solicitar acceso a esta funcionalidad para el envío a la Tienda.
Administración del uso de datos La funcionalidad restringida networkDataUsageManagement permite a las aplicaciones recopilar información del uso de datos de red.

Esta funcionalidad es necesaria para llamar a GetAttributedNetworkUsageAsync.

Cualquier persona puede solicitar acceso a esta funcionalidad para el envío a la Tienda.
Administrar la conectividad de línea telefónica La funcionalidad phoneLineTransportManagement permite a las aplicaciones administrar dispositivos del sistema responsables de la conectividad de línea telefónica.

Esta funcionalidad es necesaria para usar las API del espacio de nombres Windows.ApplicationModel.Calls.
Recursos no virtualizados La funcionalidad restringida unvirtualizedResources permite a la aplicación declarar los elementos RegistryWriteVirtualization y FileSystemWriteVirtualization en el manifiesto del paquete para deshabilitar la virtualización del registro y del sistema de archivos. Estas declaraciones impiden que el sistema virtualice la escritura en HKEY_CURRENT_USER o la carpeta AppData del usuario, respectivamente. Esto resulta útil en escenarios en que la aplicación espera que otras aplicaciones lean o escriban las mismas entradas del registro o el sistema de archivos que la aplicación.

Esta funcionalidad está diseñada para determinados tipos de juegos de equipos de escritorio publicados por Microsoft y nuestros asociados. También es necesaria para las aplicaciones empaquetadas con ubicación externa (consulte Concesión de una identidad del paquete mediante el empaquetado con ubicación externa). No está diseñada para usarse en otros escenarios, ya que podría poner en peligro la capacidad del sistema de desinstalarse sin problemas.
Aplicación modificable La funcionalidad restringida modifiableApp permite que la aplicación declare la extensión Windows. mutablePackageDirectories en el manifiesto de paquete. Esto le permite proporcionar un nombre para la carpeta donde la aplicación espera que se coloquen los archivos modificados o agregados. El sistema operativo creará esta carpeta y permitirá a la aplicación usar los archivos que contiene en lugar de (o además de) los archivos que instaló la aplicación originalmente.

Esta funcionalidad está diseñada para determinados tipos de juegos de equipos de escritorio publicados por Microsoft y nuestros asociados. No se concederá para otros escenarios, ya que puede permitir la ejecución de código sin firmar.
Corrección de compatibilidad (shim) de redirección de escritura de paquetes La funcionalidad restringida packageWriteRedirectionCompatibilityShim configura la aplicación para crear todos los archivos de nuevo en una ubicación por usuario. Los archivos preexistentes abiertos para la escritura se copian primero en una ubicación por usuario y las modificaciones se producen en el archivo en esa ubicación. Esta funcionalidad es útil para las aplicaciones que crean o modifican archivos en su carpeta de instalación.

Esta funcionalidad está diseñada para determinados tipos de juegos de equipos de escritorio publicados por Microsoft y nuestros asociados. Sin embargo, también se puede aplicar a otras aplicaciones, en algunos casos.
Acciones de instalación personalizadas La funcionalidad restringida de customInstallActions permite a la aplicación declarar la extensión windows.customInstall en el manifiesto de paquete para que pueda especificar uno o varios archivos de instalador (.exe o .msi) adicionales que se ejecutan con la aplicación. Esto le permite especificar acciones personalizadas para cualquiera de los escenarios de implementación estándar: instalar, actualizar, reparar o desinstalar. Por ejemplo, esto es útil para las aplicaciones que agrupan un componente redistribuible de terceros.

Esta funcionalidad está diseñada para determinados tipos de juegos de equipos de escritorio publicados por Microsoft y nuestros asociados. No se concederá para otros escenarios.
Servicios empaquetados La funcionalidad restringida packagedServices permite que las aplicaciones creadas por empresas y asociados de Microsoft declaren la extensión windows.service en el manifiesto del paquete para que se puedan instalar uno o varios servicios junto con la aplicación. Estos servicios se pueden configurar para ejecutarse en las cuentas de servicio local, servicio de red o sistema local. Los servicios local y de red solo requieren la funcionalidad packagedServices. Los servicios del sistema local requieren las funcionalidades packagedServices y localSystemServices.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Servicios del sistema local La funcionalidad restringida localSystemServices permite a las aplicaciones creadas por empresas y asociados de Microsoft instalar uno o más servicios de sistema local junto con la aplicación (es decir, la aplicación puede declarar que el valor de StartAccount para los servicios sea LocalSystem). En este escenario también se necesita la funcionalidad packagesServices.

No se recomienda declarar esta funcionalidad en las aplicaciones que envíes a Microsoft Store. En la mayoría de los casos, no se aprueba el uso de esta funcionalidad.
Percepción espacial en segundo plano La funcionalidad restringida backgroundSpatialPerception permite a una aplicación tener acceso al movimiento de la cabeza y las manos del usuario, los controladores de movimiento y otros objetos sometidos a seguimiento mientras la aplicación se ejecuta en segundo plano.
Acceso a la interfaz de usuario UIAccess es una característica de Windows que permite que determinadas aplicaciones de confianza interactúen con la interfaz de usuario (UI) de otras aplicaciones, incluso cuando se ejecutan con privilegios más altos o en una sesión de escritorio segura. Esta característica suele usarse mediante herramientas de accesibilidad y software de automatización para proporcionar a los usuarios formas alternativas de interactuar con las aplicaciones. La funcionalidad restringida uiAccess debe especificarse cuando el atributo uiAccess del elemento requestedExecutionLevel se establece en true en el archivo de manifiesto de la aplicación. Para obtener más información, consulte Consideraciones de seguridad para las tecnologías de asistencia.

Funcionalidades personalizadas

La sección funcionalidades restringidas anterior describe el mismo proceso de aprobación de funcionalidad que puedes usar para solicitar aprobación para usar una funcionalidad personalizada. Las API de SIM insertada son ejemplos de API que requieren una funcionalidad personalizada. Si solo quieres ejecutar la aplicación de forma local en el modo de desarrollador, no necesitas la funcionalidad personalizada. Pero sí que la necesitas para publicar la aplicación en Microsoft Store o para ejecutarla fuera del modo de desarrollador.

Si tienes un responsable técnico de cuenta (TAM) de Windows, puedes trabajar con él para solicitar acceso. Para obtener más información, consulta Contacto con el TAM de Microsoft.

Para declarar una funcionalidad restringida, modifica el archivo de origen del manifiesto de paquete de origen (Package.appxmanifest). Agrega la declaración del espacio de nombres XML xmlns:uap4 y usa el prefijo uap4 al declarar la funcionalidad personalizada. Este es un ejemplo.

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

Todos los elementos de CustomCapability deben situarse después de cualquier elemento Capability y antes de los elementos DeviceCapability en el nodo Capabilities del manifiesto de paquete.

Escenario de funcionalidad Uso de la funcionalidad
Controlador de URI de la aplicación Una aplicación puede registrarse como controlador para un URI determinado, de modo que cuando el usuario abra un vínculo al URI especificado, se inicie la aplicación en lugar de abrir el explorador. Esto requiere el registro en la máquina local y la comprobación por parte del servidor web de destino. La funcionalidad personalizada Microsoft.delegatedWebFeatures_8wekyb3d8bbwe permite que una aplicación hospede una aplicación web progresiva (PWA) y que compruebe esa PWA como controlador de URI de la aplicación sin consultar al sitio web de destino para confirmarlo.
Configuración de SAR de telefonía móvil La funcionalidad personalizada Microsoft.cellularSARConfiguration_8wekyb3d8bbwe permite a cualquier aplicación realizar la configuración de las propiedades de la tasa de absorción específica (SAR) de un dispositivo. Consulte la clase MobileBroadbandSarManager.
Activación de CoreApplication Una aplicación que declara la funcionalidad personalizada Microsoft.coreAppActivation_8wekyb3d8bbwe se basa en CoreApplication, pero requiere que se ejecute con plena confianza, de forma parecida a una aplicación de Puente de dispositivo de escritorio.
Acciones de instalación personalizadas Permite que la aplicación use acciones personalizadas de instalación o desinstalación. Una aplicación puede usar acciones personalizadas si tiene la funcionalidad restringida customInstallActions Y es una aplicación de MSIXVC Xbox Game Pass O tiene la funcionalidad personalizada Microsoft.classicAppInstaller_8wekyb3d8bbwe.
Administración de ESim La Microsoft.eSIMManagement_8wekyb3d8bbwe funcionalidad personalizada permite a cualquier aplicación realizar la configuración de la SIM insertada (eSIM) de un dispositivo. Vea la clase ESim.
Comportamientos de instalación heredados La funcionalidad personalizada Microsoft.classicAppCompat_8wekyb3d8bbwe protege en un caso en el que una aplicación declara una característica de instalación heredada; por ejemplo, al escribir ProgIds de COM personalizados en el Registro de Windows.
Instalación en toda la máquina Protege en un caso en el que una aplicación declara una característica de instalación heredada que se ha configurado para el registro en toda la máquina o HKLM, lo cual requiere permisos elevados. Se requiere específicamente para todo lo que se encuentra en el manifiesto de la aplicación en el que la aplicación declara Scope="machine".

Por ejemplo, una aplicación basada en MSIX que usa el elemento desktop7:ApprovedShellExtension tiene que establecer el ámbito en la máquina y, por tanto, debe declarar la funcionalidad personalizada Microsoft.classicAppCompatElevated_8wekyb3d8bbwe. Para más información sobre ese escenario, consulte desktop7:ApprovedShellExtension.
Red a petición La funcionalidad personalizada (la funcionalidad de red a petición) Microsoft.onDemandHotspotControl_8wekyb3d8bbwe solo estará disponible para los desarrolladores de aplicaciones que crean escenarios de zona Wi-Fi de un extremo a otro entre un dispositivo de hardware compatible con tethering y un equipo Windows. Consulte la clase WiFiOnDemandHotspotNetwork.
Registro de una extensión de shell aprobada Consulte el escenario de la funcionalidad de instalación en toda la máquina.
Modo S Se impedirá que una aplicación que declare la funcionalidad personalizada Microsoft.requiresNonSMode_8wekyb3d8bbwe se ejecute en un dispositivo Windows en modo S.
Aplicaciones de inicio Se puede configurar una aplicación para que se inicie automáticamente al iniciar sesión el usuario. Normalmente, el usuario puede habilitar o deshabilitar ese comportamiento en cada aplicación. La funcionalidad personalizada Microsoft.nonUserConfigurableStartupTasks_8wekyb3d8bbwe configura una aplicación de modo que el usuario no pueda habilitar ni deshabilitar su comportamiento de inicio.
Windows Core 1 Una aplicación que declara la funcionalidad personalizada Microsoft.deployFullTrustOnHost_8wekyb3d8bbwe dispone de plena confianza para usar las API nativas de Win32 en un dispositivo principal de Windows.
Windows Core 2 Se impedirá que una aplicación Puente de dispositivo de escritorio que declare la funcionalidad personalizada Microsoft.notSupportedInCoreV1_8wekyb3d8bbwe se ejecute en un dispositivo principal de Windows.
Marco del dispositivo complementario Windows Hello La funcionalidad relacionada con la capacidad personalizada Microsoft.secondaryAuthenticationFactorForLogon_8wekyb3d8bbwe está en desuso a partir de Windows 10, versión 2004 (10.0; compilación 19041) y ya no se proporciona esta funcionalidad a las cuentas de desarrollador. Una aplicación que declara esta funcionalidad se puede registrar con el marco del dispositivo complementario para habilitar el desbloqueo de Windows con el dispositivo complementario asociado de la aplicación. Para más información, consulte Desbloqueo de Windows con dispositivos complementarios (IoT) de Windows Hello.