Skip to content

Commit 9781dae

Browse files
authored
Merge pull request #4176 from MicrosoftDocs/drewbat/capabilities-update-2024-03-28
Some minor updates per email request
2 parents b85d3bf + 5bc241f commit 9781dae

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

uwp/packaging/app-capability-declarations.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ General-use capabilities are specified by using **Capability** elements in your
8989
| **Graphics Capture** | The **graphicsCapture** capability allows apps to take screenshots of windows or displays when allowed by the user. This capability is required to use the [Windows.Graphics.Capture.GraphicsCapturePicker](/uwp/api/windows.graphics.capture.graphicscapturepicker) object. This capability is defined in the [uap6:Capability](/uwp/schemas/appxpackage/uapmanifestschema/element-uap6-capability) element. |
9090
| **Borderless Graphics Capture** | The **graphicsCaptureWithoutBorder** capability allows apps to take screenshots without showing a screenshot border around the window or display. This capability is required to use the [Windows.Graphics.Capture.GraphicsCaptureSession.IsBorderRequired](/uwp/api/windows.graphics.capture.graphicscapturesession.isborderrequired) property. This capability is defined in the **uap11:Capability** element. |
9191
| **Programmatic Graphics Capture** | The **graphicsCaptureProgrammatic** capability allows apps to take screenshots of various windows or displays on its own. This capability is required to create a [Windows.Graphics.Capture.GraphicsCaptureItem](/uwp/api/windows.graphics.capture.graphicscaptureitem) object from a [WindowId](/uwp/api/windows.ui.windowid) or [DisplayId](/uwp/api/windows.graphics.displayid). This capability is defined in the **uap11:Capability** element. |
92+
| **User Data Tasks** | The **userDataTasks** capability provides access to APIs in the [Windows.ApplicationModel.UserDataTasks](/uwp/api/windows.applicationmodel.userdatatasks) namespace, which provide access to the task items that are stored in Windows by Exchange ActiveSync (EAS) connections and other provider apps. |
93+
| **User Notification Listener** | The **userNotificationListener** capability provides access to APIs in the [Windows.UI.Notifications.Management](/uwp/api/windows.ui.notifications.management) namespace, which enable management of user notifications. |
9294

9395
## Device capabilities
9496

@@ -115,8 +117,7 @@ Device capabilities allow your app to access peripheral and internal devices. De
115117
| **Serial communication** | The **serialcommunication** device capability provides access to APIs in the Windows.Devices.SerialCommunication namespace, which allows a Windows app to communicate with a device that exposes a serial port or some abstraction of a serial port. This capability is required to use the APIs in the [**Windows.Devices.SerialCommnication**](/uwp/api/windows.devices.serialcommunication) namespace. |
116118
| **Eye Tracker** | The **gazeInput** capability allows apps to detect where the user is looking within the application bounds when a compatible eye tracking device is connected or for Mixed Reality devices that support gaze tracking. This capability is required to use some APIs in the [**Windows.Devices.Input.Preview**](/uwp/api/windows.devices.input.preview) namespace. For Mixed Reality devices, this capability is required for APIs in the [**Windows.Perception.People.EyesPose**](/uwp/api/windows.perception.people.eyespose). |
117119
| **GPIO, I2C, SPI, and PWM** | The **lowLevel** device capability provides access to GPIO, I2C, SPI, and PWM devices. This capability is required to use the APIs in the following namespaces: [**Windows.Devices.Gpio**](/uwp/api/windows.devices.gpio), [**Windows.Devices.I2c**](/uwp/api/windows.devices.i2c), [**Windows.Devices.Spi**](/uwp/api/windows.devices.spi),[**Windows.Devices.Pwm**](/uwp/api/windows.devices.pwm).<br/><br/>```<Capabilities><DeviceCapability Name="lowLevel"/></Capabilities>``` |
118-
| **User Data Tasks** | The **userDataTasks" device capability provides access to APIs in the [Windows.ApplicationModel.UserDataTasks](/uwp/api/windows.applicationmodel.userdatatasks) namespace, which provide access to the task items that are stored in Windows by Exchange ActiveSync (EAS) connections and other provider apps. |
119-
| **User Notification Listener** | The **userNotificationListener" device capability provides access to APIs in the [Windows.UI.Notifications.Management](/uwp/api/windows.ui.notifications.management) namespace, which enable management of user notifications. |
120+
120121

121122
<span id="special-and-restricted-capabilities"></span>
122123

@@ -171,7 +172,7 @@ The following table lists the restricted capabilities. You may request approval
171172
172173
| Capability scenario | Capability usage |
173174
|---------------------|------------------|
174-
| **Enterprise** | Windows domain credentials enable a user to log into remote resources using their credentials, and act as if a user provided their user name and password. The **enterpriseAuthentication** capability is typically used in line-of-business apps that connect to servers within an enterprise. <br/><br/>You don't need this capability for generic communication across the Internet.<br/><br/>The **enterpriseAuthentication** capability is intended to support common line-of-business apps. Don't declare it in apps that don't need to access corporate resources. The [**file picker**](/uwp/api/Windows.Storage.Pickers.FileOpenPicker) provides a robust UI mechanism that enables users to open files on a network share for use with an app. Declare the **enterpriseAuthentication** capability only when the scenarios for your app require programmatic access, and you cannot realize them by using the **file picker**.<br/><br/>The **enterpriseAuthentication** capability must include the **uap** namespace when you declare it in your app's package manifest as shown below.<br/><br/>```<Capabilities><uap:Capability Name="enterpriseAuthentication"/></Capabilities>```<br/><br/>The **enterpriseDataPolicy** capability allows apps to handle enterprise data separately and safely when the app is managed with Windows Information Protection policy (For example: Mobile Device Management and Mobile Application Management systems). Declare this restricted capability as shown below. <br/><br/>```<Capabilities><rescap:Capability Name="enterpriseDataPolicy"/></Capabilities>```<br/><br/>This capability is required to use all members of the following classes.<ul><li><a href="/uwp/api/Windows.Security.EnterpriseData.FileProtectionManager">FileProtectionManager</a></li><li><a href="/uwp/api/Windows.Security.EnterpriseData.DataProtectionManager">DataProtectionManager</a></li><li><a href="/uwp/api/Windows.Security.EnterpriseData.ProtectionPolicyManager">ProtectionPolicyManager</a></li></ul> |
175+
| **Enterprise** | Windows domain credentials enable a user to log into remote resources using their credentials, and act as if a user provided their user name and password. The **enterpriseAuthentication** capability is typically used in line-of-business apps that connect to servers within an enterprise. <br/><br/>You don't need this capability for generic communication across the Internet.<br/><br/>The **enterpriseAuthentication** capability is intended to support common line-of-business apps. Don't declare it in apps that don't need to access corporate resources. The [**file picker**](/uwp/api/Windows.Storage.Pickers.FileOpenPicker) provides a robust UI mechanism that enables users to open files on a network share for use with an app. Declare the **enterpriseAuthentication** capability only when the scenarios for your app require programmatic access, and you cannot realize them by using the **file picker**.<br/><br/>The **enterpriseAuthentication** capability must include the **uap** namespace when you declare it in your app's package manifest as shown below.<br/><br/>```<Capabilities><uap:Capability Name="enterpriseAuthentication"/></Capabilities>```<br/><br/>This capability is required to call the [**GetUserNameEx**](/windows/desktop/api/secext/nf-secext-getusernameexa) function. <br/><br/>The **enterpriseDataPolicy** capability allows apps to handle enterprise data separately and safely when the app is managed with Windows Information Protection policy (For example: Mobile Device Management and Mobile Application Management systems). Declare this restricted capability as shown below. <br/><br/>```<Capabilities><rescap:Capability Name="enterpriseDataPolicy"/></Capabilities>```<br/><br/>This capability is required to use all members of the following classes.<ul><li><a href="/uwp/api/Windows.Security.EnterpriseData.FileProtectionManager">FileProtectionManager</a></li><li><a href="/uwp/api/Windows.Security.EnterpriseData.DataProtectionManager">DataProtectionManager</a></li><li><a href="/uwp/api/Windows.Security.EnterpriseData.ProtectionPolicyManager">ProtectionPolicyManager</a></li></ul> |
175176
| **Shared user certificates** | The **sharedUserCertificates** capability enables an app to add and access software and hardware-based certificates in the Shared User store, such as certificates stored on a smart card. This capability is typically used for financial or enterprise apps that require a smart card for authentication.<br/><br/>The **sharedUserCertificates** capability must include the **uap** namespace when you declare it in your app's package manifest as shown below.<br/><br/>```<Capabilities><uap:Capability Name="sharedUserCertificates"/></Capabilities>``` |
176177
|**Documents**\* | The **documentsLibrary** capability provides programmatic access to the user's Documents library, filtered to the file type associations declared in the package manifest. For example, if a word processing app declared a .doc file type association, it can open .doc files in the user's Documents library. <br/><br/>The **documentsLibrary** capability is *only* needed if your application programmatically accesses the Documents library *without* user intervention. Your application <b>does not</b> need the **documentsLibrary** capability to access the Documents library if the user chooses it with a picker API. Generally, apps should allow the user to choose the location of their files, using one of the following picker APIs: <ul><li>[FileOpenPicker](/uwp/api/Windows.Storage.Pickers.FileOpenPicker) to open an existing file.</li><li>[FileSavePicker](/uwp/api/windows.storage.pickers.filesavepicker) to save a new file.</li><li>[FolderPicker](/uwp/api/windows.storage.pickers.folderpicker) to choose a folder to open / save additional files from.</li></ul>Using these APIs allows the user to choose a location that works best for them, such as a cloud-synced account (eg, OneDrive). After the user has picked a file or folder using these APIs, your app can get ongoing access to the location by using the [FutureAccessList](/uwp/api/windows.storage.accesscache.storageapplicationpermissions.futureaccesslist) API. This API allows your app to access the files or folders in the future without asking the user to pick them again.<br/><br/>In cases where existing workflows assume files will be in the Documents library (for example, interop with an existing desktop application) or where you do not want the user to have to choose the location, you can declare the **documentsLibrary** capability for your application. If you use the **documentsLibrary** capability for your application, it is recommended that you also allow the user to pick locations manually.<br/><br/>The **documentsLibrary** capability must include the **uap** namespace when you declare it in your app's package manifest as shown below.<br/><br/>```<Capabilities><uap:Capability Name="documentsLibrary"/></Capabilities>``` |
177178
| **Game DVR Settings** | The **appCaptureSettings** restricted capability allows apps to control the user settings for the Game DVR.<br/><br/>This capability is required to use some APIs in the [**Windows.Media.Capture**](/uwp/api/Windows.Media.Capture) namespace. <br/><br/>We don't recommend that you declare this capability in applications that you submit to the Microsoft Store. In most cases, the use of this capability won't be approved. |
@@ -185,7 +186,7 @@ The following table lists the restricted capabilities. You may request approval
185186
| **VPN App** | The **networkingVpnProvider** restricted capability allows apps to have full access to VPN features, including the ability to manage connections and provide VPN Plugin functionality.<br/><br/>This capability is required to use some APIs in the [**Windows.Networking.Vpn**](/uwp/api/Windows.Networking.Vpn) namespace. |
186187
| **Other App Management** | The **packageManagement** restricted capability allows apps to manage other apps directly.<br/><br/>The **packageQuery** device capability allows apps to gather information about other apps.<br/><br/>These capabilities are required to access some methods and properties in the [**PackageManager**](/uwp/api/Windows.Management.Deployment.PackageManager) class. |
187188
| **Screen Projection** | The **screenDuplication** restricted capability allows apps to project the screen on another device.<br/><br/>This capability is required to use APIs in the DirectX namespace. <br/><br/>We don't recommend that you declare this capability in applications that you submit to the Microsoft Store. In most cases, the use of this capability won't be approved. |
188-
| **User Principal Name** | The **userPrincipalName** restricted capability allows apps to access the user principal name (UPN) of the current user.<br/><br/>This capability is required to call the [**GetUserNameEx**](/windows/desktop/api/secext/nf-secext-getusernameexa) function. <br/><br/>We don't recommend that you declare this capability in applications that you submit to the Microsoft Store. In most cases, the use of this capability won't be approved. |
189+
| **User Principal Name** | The **userPrincipalName** restricted capability allows apps to access the user principal name (UPN) of the current user.<br/><br/>We don't recommend that you declare this capability in applications that you submit to the Microsoft Store. In most cases, the use of this capability won't be approved. |
189190
| **Wallet** | The **walletSystem** restricted capability allows apps to have full access to the stored wallet cards.<br/><br/>This capability is required to use APIs in the [**Windows.ApplicationModel.Wallet.System**](/uwp/api/Windows.ApplicationModel.Wallet.System) namespace. <br/><br/>We don't recommend that you declare this capability in applications that you submit to the Microsoft Store. In most cases, the use of this capability won't be approved. |
190191
| **Location History** | The **locationHistory** restricted capability allows apps to access the location history of the device.<br/><br/>This capability is required to use APIs in the [**Windows.Devices.Geolocation**](/uwp/api/Windows.Devices.Geolocation) namespace.
191192
| **App Close Confirmation** | The **confirmAppClose** restricted capability allows apps to close themselves, their own windows, and delay the closing of their app.<br/><br/>Apps may request this capability in Windows 10 version 1703 (build 10.0.15063) and beyond. In prior Windows 10 versions the capability is private and will cause app install to fail with error message "The requested capability can not be authorized for this application." |

0 commit comments

Comments
 (0)