Multiplayer
| Hex | Dec | Description |
|---|---|---|
| 0x89236400 | -1994169344 | The PlayFabMultiplayer library must be initialized. |
| 0x89236401 | -1994169343 | Only one PlayFabMultiplayer instance can exist at a time. |
| 0x89236402 | -1994169342 | No PlayFab entity token was associated with the provided entity key. Use PFMultiplayerSetEntityToken to associate a PlayFab entity token with a PlayFab entity key before passing that entity key to the API. |
| 0x89236403 | -1994169341 | The provided multiplayer thread ID is invalid/unknown. |
| 0x89236404 | -1994169340 | The provided PlayFab entity key is malformed or otherwise invalid. |
| 0x89236405 | -1994169339 | The Microsoft Game Core XNetworking feature is unavailable. |
| 0x89236406 | -1994169338 | The PlayFab Multiplayer library couldn’t be initialized because the Game Core Network stack wasn’t initialized. Use the Microsoft Game Core XNetworkingGetConnectivityHint API to determine when the network stack is initialized. |
| 0x89236408 | -1994169336 | The operation was canceled due to the title suspending. |
| 0x89236409 | -1994169335 | The PlayFab service returned an unexpected error with a 4XX status code. |
| 0x8923640A | -1994169334 | The PlayFab service returned an unexpected error with a 5XX status code. |
| 0x8923640B | -1994169333 | The Entity ID is invalid. |
| 0x8923640C | -1994169332 | The Entity Type is invalid or unsupported. |
| 0x8923640D | -1994169331 | A request rate limit was exceeded. The request wasn’t automatically retried again because retries are disabled or the retry-after period was too long. |
Lobby
| Hex | Dec | Description |
|---|---|---|
| 0x89236200 | -1994169856 | Can’t create local user; local user limit reached. |
| 0x89236202 | -1994169854 | A user with the provided entity ID already exists. |
| 0x89236203 | -1994169853 | Requested, provided, or configured Lobby owner migration policy is invalid. |
| 0x89236204 | -1994169852 | Requested, provided, or configured Lobby access policy is invalid. |
| 0x89236205 | -1994169851 | Requested object is still pending asynchronous creation. |
| 0x89236206 | -1994169850 | The provided max member count value is outside of the allowed range of values. |
| 0x89236207 | -1994169849 | Provided lobby property count exceeds maximum allowed. |
| 0x89236208 | -1994169848 | Encountered an unexpected error. |
| 0x89236209 | -1994169847 | Failed to parse json data. |
| 0x8923620B | -1994169845 | A parameter or value provided to the PlayFab service was invalid. |
| 0x8923620C | -1994169844 | The PlayFab service returned an unexpected error. |
| 0x8923620D | -1994169843 | The provided entity token has expired. |
| 0x8923620E | -1994169842 | The user isn’t authorized to execute the operation. |
| 0x89236212 | -1994169838 | The PlayFab Service returned an unknown error. |
| 0x89236213 | -1994169837 | The PlayFab entity token is malformed or otherwise invalid. |
| 0x89236214 | -1994169836 | The specified Lobby entity ID is invalid. |
| 0x89236215 | -1994169835 | The provided property bag contains duplicate property keys. |
| 0x89236216 | -1994169834 | A Lobby request rate limit was exceeded. The request wasn’t automatically retried again because retries are disabled or the retry-after period was too long. |
| 0x89236217 | -1994169833 | The owner of the lobby isn’t a member of the lobby. |
| 0x8923621A | -1994169830 | The operation couldn’t be completed because the entity provided wasn’t locally authenticated. Log in the entity first, and provide the library a token using SetEntityToken. |
| 0x8923621B | -1994169829 | The provided Lobby state change type is invalid/unknown. |
| 0x8923621C | -1994169828 | The provided Lobby state change result is invalid/unknown. |
| 0x8923621D | -1994169827 | The provided Lobby disconnect reason is invalid/unknown. |
| 0x8923621E | -1994169826 | The PlayFab service returned unexpected ‘bad request’ error. |
| 0x8923621F | -1994169825 | The provided Lobby thread ID is invalid/unknown. |
| 0x89236220 | -1994169824 | The operation couldn’t be completed because the entity provided wasn’t a member of the lobby. |
| 0x89236221 | -1994169823 | The PlayFab service returned an invalid/malformed response. |
| 0x89236222 | -1994169822 | Either a lobby update or a member update must be provided. |
| 0x89236223 | -1994169821 | Updates can’t be queued after disconnecting from the lobby. |
| 0x89236224 | -1994169820 | The provided lobby join request contained an invalid property deletion. |
| 0x89236225 | -1994169819 | The requested user was already a member of the lobby. |
| 0x89236226 | -1994169818 | The requested lobby doesn’t exist. |
| 0x89236227 | -1994169817 | The requested lobby wasn’t in a joinable state. |
| 0x89236228 | -1994169816 | The provided Lobby member removed reason is invalid/unknown. |
| 0x89236229 | -1994169815 | The operation couldn’t be completed because the acting member wasn’t the owner. |
| 0x8923622A | -1994169814 | Lobby member can’t self-promote to owner while owner is still connected using current owner migration policy. |
| 0x8923622B | -1994169813 | The arrangement string version isn’t supported. |
| 0x8923622C | -1994169812 | An arrangement string for the specified entity key wasn’t found in the packed arrangement string. |
| 0x8923622D | -1994169811 | The arrangement string is an invalid format and couldn’t be parsed. |
| 0x8923622E | -1994169810 | Requested, provided, or configured Lobby invite listener status is invalid. |
| 0x8923622F | -1994169809 | The invite listener is already set and must be stopped before resetting. |
| 0x89236230 | -1994169808 | The invite listener isn’t set and so can’t be stopped. |
| 0x89236231 | -1994169807 | Requested, provided, or configured Lobby membership lock is invalid. |
| 0x89236232 | -1994169806 | The member can’t rejoin the lobby because they have been banned. |
| 0x89236233 | -1994169805 | The member can’t join the lobby because they are already concurrently a member of the maximum number of allowed lobbies. |
| 0x89236234 | -1994169804 | The owner can’t promote disconnected member to owner if owner migration policy is Automatic. |
| 0x89236235 | -1994169803 | The connection status is invalid. |
| 0x89236236 | -1994169802 | Operation can only be performed by the lobby’s server-owner. |
| 0x89236237 | -1994169801 | The specified calling server hasn’t joined the lobby. The lobby has a different server joined. |
| 0x89236238 | -1994169800 | The lobby doesn’t have a joined server. |
| 0x89236239 | -1994169799 | The lobby already has a joined server. |
| 0x8923623A | -1994169798 | The server has already joined the lobby. |
| 0x8923623B | -1994169797 | The server can’t join a lobby which isn’t client-owned. |
| 0x8923623C | -1994169796 | The server can’t join a lobby which doesn’t use connections. |
| 0x8923623D | -1994169795 | Operation can only be performed by the non-owning server associated with the lobby. |
| 0x8923623E | -1994169794 | The connection status is invalid. |
Matchmaking
| Hex | Dec | Description |
|---|---|---|
| 0x89236300 | -1994169600 | The provided matchmaking ticket status is invalid/unknown. |
| 0x89236301 | -1994169599 | The provided matchmaking ticket result is invalid/unknown. |
| 0x89236302 | -1994169598 | The provided matchmaking ticket cancel reason is invalid/unknown. |
| 0x89236303 | -1994169597 | The provided matchmaking state change type is invalid/unknown. |
| 0x89236304 | -1994169596 | The ticket was canceled due to a cancelation request. |
| 0x89236305 | -1994169595 | The ticket was canceled due to a service error. |
| 0x89236306 | -1994169594 | The ticket was canceled because the timeout elapsed before a match could be found. |
| 0x89236307 | -1994169593 | The ticket was canceled for an unknown reason. |
| 0x89236308 | -1994169592 | Duplicate users aren’t allowed in the ticket parameters. |
| 0x89236309 | -1994169591 | At least one local user must be specified in the ticket parameters. |
| 0x8923630A | -1994169590 | There were too many users in the ticket for the queue. |
| 0x8923630B | -1994169589 | The ticket is already completed. |
| 0x8923630C | -1994169588 | Encountered an unrecoverable failure when attempting to cancel the ticket. |
| 0x8923630D | -1994169587 | One of the users is a member of too many tickets. |
| 0x8923630F | -1994169585 | A matchmaking request rate limit was exceeded. The request wasn’t automatically retried again because retries are disabled or the retry-after period was too long. |
| 0x89236310 | -1994169584 | The timeout elapsed without the service completing the ticket. |
| 0x89236311 | -1994169583 | The calling entity is invalid. |
| 0x89236312 | -1994169582 | One of the users in the ticket has invalid attributes. |
| 0x89236313 | -1994169581 | The queue wasn’t found. |
| 0x89236314 | -1994169580 | The match wasn’t found. |
| 0x89236315 | -1994169579 | The ticket wasn’t found. |
| 0x89236316 | -1994169578 | The user already joined the ticket. |
| 0x89236317 | -1994169577 | The queue config is invalid. |
| 0x89236318 | -1994169576 | One of the users in the ticket has an invalid entity profile. |
| 0x89236319 | -1994169575 | Matchmaking isn’t enabled for this title. |
| 0x8923631A | -1994169574 | One of the users in the ticket has attributes that are too large. |
| 0x8923631B | -1994169573 | One of the ticket attributes is invalid. |
| 0x8923631C | -1994169572 | The user hasn’t joined the ticket. |
| 0x8923631D | -1994169571 | The number of queues has exceeded the limit for this title. |
| 0x8923631E | -1994169570 | The API called doesn’t match the type of ticket requested. |
| 0x8923631F | -1994169569 | The request was malformed. |
| 0x89236320 | -1994169568 | Match details can only be provided when the ticket is in the matched state. |
| 0x89236321 | -1994169567 | The provided multiplayer protocol type is invalid. |
| 0x89236322 | -1994169566 | The ticket was canceled by the service. |
PubSub
| Hex | Dec | Description |
|---|---|---|
| 0x89236600 | -1994168832 | The PubSub library must be initialized. |
| 0x89236601 | -1994168831 | Only one PubSubManager instance can exist at a time. |
| 0x09236602 | 153314818 | The requested operation failed because the PubSub API is still in use. |
| 0x89236603 | -1994168829 | The specified PubSub entity ID is invalid. |
| 0x89236604 | -1994168828 | The requested operation failed because the PubSub entity is still in use. |
| 0x89236605 | -1994168827 | Encountered an exception while parsing and adding the PubSub connection ID to a PlayFab message body. |
| 0x89236606 | -1994168826 | Failed to parse json data. |
| 0x89236607 | -1994168825 | The PubSub library is already unsubscribed from the provided PubSub subscription. |
| 0x89236608 | -1994168824 | Failed to create a PubSub connection string. |
| 0x89236609 | -1994168823 | The PubSub service encountered an error while creating or maintaining the connection. |
| 0x8923660A | -1994168822 | Encountered an exception while parsing connection identifier. |
| 0x8923660B | -1994168821 | The requested entity wasn’t found. |
| 0x8923660C | -1994168820 | The provided connection exists but is in an invalid/unknown state. |
| 0x8923660D | -1994168819 | Encountered an unexpected exception when attempting to establish PubSub connection. |
| 0x8923660E | -1994168818 | Encountered an unexpected exception when parsing a subscription event. |
| 0x8923660F | -1994168817 | Encountered an unexpected exception when parsing a subscription notification payload. |
| 0x89236610 | -1994168816 | Attempted to establish a PubSub subscription without any available PubSub connections. |
| 0x89236611 | -1994168815 | The PubSub service declined the attempt to subscribe to the specified resource. |
| 0x89236612 | -1994168814 | Failed to end the PubSub session while attempting to disconnect. |
| 0x89236613 | -1994168813 | The Microsoft Game Core XNetworking feature is unavailable. |
| 0x89236614 | -1994168812 | The PubSub library couldn’t be initialized because the Game Core Network stack wasn’t initialized. Use the Microsoft Game Core XNetworkingGetConnectivityHint API to determine when the network stack is initialized. |
| 0x89236616 | -1994168810 | Unable to set up signalr websocket connection. |
| 0x89236617 | -1994168809 | The PubSub library has hit its max websocket connections limit. |
| 0x89236618 | -1994168808 | The PubSub connection has hit its max entity limit. |
| 0x89236619 | -1994168807 | The PubSub service doesn’t recognize the entity type. |
| 0x8923661A | -1994168806 | The PubSub service doesn’t recognize the request type. |
| 0x8923661B | -1994168805 | The PubSub service was unavailable via SignalR. |
| 0x8923661C | -1994168804 | The PubSub service returned an unexpected response. |
| 0x8923661D | -1994168803 | The PubSub service is throttling the client over signalr due to exceeding the rate limit. |
| 0x8923661E | -1994168802 | The PlayFab service returned an unexpected error with a 4XX status code. |
| 0x8923661F | -1994168801 | The PlayFab service returned an unexpected error with a 5XX status code. |
| 0x89236620 | -1994168800 | The PubSub service failed to deliver a subscription confirmation within a reasonable timeout. |
| 0x89236621 | -1994168799 | The PubSub service failed due to lack of authentication credentials to a specific resource. |
| 0x89236622 | -1994168798 | Failed to access PubSub services; check credentials. |
| 0x89236623 | -1994168797 | The provided PlayFab title does not have PubSub services enabled. |
| 0x89236624 | -1994168796 | The PubSub service is throttling the client due to exceeding the rate limit. |
| 0x89236625 | -1994168795 | The PubSub service could not complete the request because a connection for the specified entity was not found. |
| 0x89236626 | -1994168794 | PlayFab services rejected our PubSub connection handle as invalid. |
| 0x89236627 | -1994168793 | The entity has exceeded their limit of concurrent PubSub subscriptions. |
Global HRESULT error codes
The following HRESULT errors are gobal error codes and can also be raised by underlying libraries:Global
| Name | Hex | Dec |
|---|---|---|
| E_NOTIMPL | 0x80004001 | -2147467263 |
| E_OUTOFMEMORY | 0x8007000E | -2147024882 |
| E_INVALIDARG | 0x80070057 | -2147024809 |
| E_ABORT | 0x80004004 | -2147467260 |
| E_FAIL | 0x80004005 | -2147467259 |
| E_ACCESSDENIED | 0x80070005 | -2147024891 |
| E_PENDING | 0x8000000A | -2147483638 |
| E_UNEXPECTED | 0x8000FFFF | -2147418113 |
| E_POINTER | 0x80004003 | -2147467261 |
| E_TIME_CRITICAL_THREAD | 0x800701A0 | -2147024480 |
| E_NO_TASK_QUEUE | 0x800701AB | -2147024469 |
| E_NOT_SUPPORTED | 0x80070032 | -2147024846 |
| E_NOT_SUFFICIENT_BUFFER | 0x8007007A | -2147024774 |
| E_NOINTERFACE | 0x80004002 | -2147467262 |
| E_BOUNDS | 0x8000000B | -2147483637 |
| E_ILLEGAL_METHOD_CALL | 0x8000000E | -2147483634 |
HTTP Client
| Name | Hex | Dec |
|---|---|---|
| HTTP_E_STATUS_AMBIGUOUS | 0x8019012C | -2145844948 |
| HTTP_E_STATUS_BAD_GATEWAY | 0x801901F6 | -2145844746 |
| HTTP_E_STATUS_BAD_METHOD | 0x80190195 | -2145844843 |
| HTTP_E_STATUS_BAD_REQUEST | 0x80190190 | -2145844848 |
| HTTP_E_STATUS_CONFLICT | 0x80190199 | -2145844839 |
| HTTP_E_STATUS_DENIED | 0x80190191 | -2145844847 |
| HTTP_E_STATUS_EXPECTATION_FAILED | 0x801901A1 | -2145844831 |
| HTTP_E_STATUS_429_TOO_MANY_REQUESTS | 0x801901AD | -2145844819 |
| HTTP_E_STATUS_FORBIDDEN | 0x80190193 | -2145844845 |
| HTTP_E_STATUS_GATEWAY_TIMEOUT | 0x801901F8 | -2145844744 |
| HTTP_E_STATUS_GONE | 0x8019019A | -2145844838 |
| HTTP_E_STATUS_LENGTH_REQUIRED | 0x8019019B | -2145844837 |
| HTTP_E_STATUS_MOVED | 0x8019012D | -2145844947 |
| HTTP_E_STATUS_NONE_ACCEPTABLE | 0x80190196 | -2145844842 |
| HTTP_E_STATUS_NOT_FOUND | 0x80190194 | -2145844844 |
| HTTP_E_STATUS_NOT_MODIFIED | 0x80190130 | -2145844944 |
| HTTP_E_STATUS_NOT_SUPPORTED | 0x801901F5 | -2145844747 |
| HTTP_E_STATUS_PAYMENT_REQ | 0x80190192 | -2145844846 |
| HTTP_E_STATUS_PRECOND_FAILED | 0x8019019C | -2145844836 |
| HTTP_E_STATUS_PROXY_AUTH_REQ | 0x80190197 | -2145844841 |
| HTTP_E_STATUS_RANGE_NOT_SATISFIABLE | 0x801901A0 | -2145844832 |
| HTTP_E_STATUS_REDIRECT | 0x8019012E | -2145844946 |
| HTTP_E_STATUS_REDIRECT_KEEP_VERB | 0x80190133 | -2145844941 |
| HTTP_E_STATUS_REDIRECT_METHOD | 0x8019012F | -2145844945 |
| HTTP_E_STATUS_REQUEST_TIMEOUT | 0x80190198 | -2145844840 |
| HTTP_E_STATUS_REQUEST_TOO_LARGE | 0x8019019D | -2145844835 |
| HTTP_E_STATUS_SERVER_ERROR | 0x801901F4 | -2145844748 |
| HTTP_E_STATUS_SERVICE_UNAVAIL | 0x801901F7 | -2145844745 |
| HTTP_E_STATUS_UNEXPECTED | 0x80190001 | -2145845247 |
| HTTP_E_STATUS_UNEXPECTED_SERVER_ERROR | 0x80190005 | -2145845243 |
| HTTP_E_STATUS_UNSUPPORTED_MEDIA | 0x8019019F | -2145844833 |
| HTTP_E_STATUS_URI_TOO_LONG | 0x8019019E | -2145844834 |
| HTTP_E_STATUS_USE_PROXY | 0x80190131 | -2145844943 |
| HTTP_E_STATUS_VERSION_NOT_SUP | 0x801901F9 | -2145844743 |
| ONL_E_ACTION_REQUIRED | 0x8086000C | -2138701812 |
| WEB_E_INVALID_JSON_STRING | 0x83750007 | -2089484281 |
| WEB_E_UNEXPECTED_CONTENT | 0x83750005 | -2089484283 |
