This page lists the error codes for Xbox One APIs along with a description of each constant, and the scenarios that might produce the error code.
| Return String | Return Code | Scenario | Description |
|---|---|---|---|
| SPERR_NO_GRAMMAR_ENABLED | 0x8004550C | NUI | SPERR_NO_GRAMMAR_ENABLED occurs when speech recognition is starting (or stopping) without active grammars. The recommended resolution steps are listed in the following order:
|
| E_FILE_NOT_FOUND | 0x80070002 | Localization | E_FILE_NOT_FOUND is caused by incorrectly set-up localization for your package. This has been known to cause issues, including files going missing during install. Try the following to correct the issue:
|
| PackageTransferManager APIs | E_FILE_NOT_FOUND is returned if the PackageTransfer APIs, such as PackageTransferManager::Current, are used with a loose file deployment rather than a packaged build. | ||
| Missing DLLs | You may see E_FILE_NOT_FOUND if you have a missing DLL or resource in your game. | ||
| E_ACCESSDENIED | 0x80070005 | Packaging/Streaming Install | You may get an E_ACCESSDENIED error from makepkg. Typically this is caused by a lack of write access to the target drive. |
| D3D#CreateDevice | The following functions can return E_ACCESSDENIED: Xbox One only supports one Direct3D device at a time. You can check for E_ACCESSDENIED to see if the device has already been created by either the same process or another exclusive-mode process. | ||
| TCUI | You may sometimes get an E_ACCESSDENIED error when attempting to show System UI. This typically happens when you attempt to show System UI while the game does not have focus. | ||
| ERROR_NOT_SUPPORTED | 0x80070032 | Application Model | CheckPrivilegeAsync will throw an exception with HResult 0x80070032 (ERROR_NOT_SUPPORTED) on task creation as opposed to execution if the requesting user is not signed in at the time. |
| E_INVALIDARG | 0x80070057 | Secure Sockets | E_INVALIDARG is returned by GetTemplateByName when the specified template does not exist in the manifest. |
| TCUI | ShowPeoplePickerAsync returns E_INVALIDARG if any of the following is true:
| ||
| ERROR_INSTALL_REGISTRATION_FAILURE | 0x80073CF6 | App Deployment | ERROR_INSTALL_REGISTRATION_FAILURE is typically caused by an invalid appx manifest file. Either the XML in the file causes problems, or one of the files the manifest refers to is missing. Check that all files are present and that you do not have any typos or syntax errors in the manifest. You can run the deploy command using the /VM flag to enable detailed manifest validation which can help you track down the issue. |
| ERROR_INSTALL_FAILED | 0x80073CF9 | App Deployment | ERROR_INSTALL_FAILED can be returned if the console ends up with invalid installed app data. Try using xbcleanup /u or xbcleanup /c to put the console back into a known-good state. If that fails, factory-reset the console using xbcleanup /f (see xbcleanup). |
| APPX_E_INVALID_MANIFEST | 0x80080204 | App Deployment | See ERROR_INSTALL_REGISTRATION_FAILURE. |
| HTTP_E_STATUS_BAD_REQUEST | 0x80190190 | Title Storage | HTTP_E_STATUS_BAD_REQUEST indicates invalid path or file for GetBlobMetadataAsync. |
| Marketplace | For Details Service (GetCatalogItemDetailsAsync): HTTP_E_STATUS_BAD_REQUEST is caused when more than 10 CatalogItems per request are specified. Only 10 CatalogItems (MAX_DETAILS_ITEMS) are allowed. For Catalog Service (BrowseCatalogAsync): this error can also occur by setting the maxItems too large. Only 25 items per call are supported. | ||
| Xbox Live Compute | For AllocateClusterAsync, HTTP_E_STATUS_BAD_REQUEST indicates a failure for the matchmaking request, typically due to QoS (where the requirement is all-or-nothing). | ||
| Social | For Xbox::Services APIs, HTTP_E_STATUS_BAD_REQUEST means invalid leaderboard or profile. | ||
| LM_E_CONTENT_NOT_IN_CATALOG | 0x87DE2712 | Licensing/DLC | LM_E_CONTENT_NOT_IN_CATALOG means the system is trying to get a license for content that has not been ingested into XDP. This is caused by trying to use xbapp install on a package created with makepkg’s /l parameter, which is only used for submitting final builds of packages in XDP and not for development or testing. |
| AUDCLNT_E_CPUUSAGE_EXCEEDED | 0x88890017 | NUI | AUDCLNT_E_CPUUSAGE_EXCEEDED is caused by reinitializing or restarting NUI too quickly after it has been previously shutdown. One method of handling this error would be to wait momentarily and retry the operation. Waiting a few seconds (2-4 seconds) should be sufficient for most cases. |