PlayFab 多人游戏 C++ SDK 错误代码
PlayFab 多人游戏、大厅和匹配 API 使用以下错误代码,这些代码可用于调试用途。 对于诊断,也可以通过 PFMultiplayerGetErrorMessage 在运行时检索错误消息。
有关处理这些错误的其他指南,请查看处理大厅和匹配 C++ SDK 错误
Multiplayer
Hex |
Dec |
说明 |
0x89236400 |
-1994169344 |
必须初始化 PlayFabMultiplayer 库。 |
0x89236401 |
-1994169343 |
一次只能有一个 PlayFabMultiplayer 实例。 |
0x89236402 |
-1994169342 |
没有与提供的实体密钥关联的 PlayFab 实体令牌。 在将该实体密钥传递给 API 之前,使用 PFMultiplayerSetEntityToken 将 PlayFab 实体令牌与 PlayFab 实体密钥相关联。 |
0x89236403 |
-1994169341 |
提供的多人游戏线程 ID 无效/未知。 |
0x89236404 |
-1994169340 |
提供的 PlayFab 实体键格式不正确或无效。 |
0x89236405 |
-1994169339 |
Microsoft Game Core XNetworking 功能不可用 |
0x89236406 |
-1994169338 |
无法初始化 PlayFab 多人游戏库,因为未初始化 Game Core 网络堆栈。 使用 Microsoft Game Core XNetworkingGetConnectivityHint API 确定何时初始化网络堆栈。 |
0x89236408 |
-1994169336 |
由于游戏暂停,操作已取消。 |
0x89236409 |
-1994169335 |
PlayFab 服务返回了带有 4XX 响应代码的意外错误代码。 |
0x8923640A |
-1994169334 |
PlayFab 服务返回了带有 5XX 响应代码的意外错误代码。 |
0x8923640B |
-1994169333 |
实体 ID 无效。 |
0x8923640C |
-1994169332 |
实体类型无效或不受支持。 |
0x8923640D |
-1994169331 |
超出了请求速率限制。 由于已禁用重试或重试后时间过长,请求不会自动重试。 |
大厅
Hex |
Dec |
说明 |
0x89236200 |
-1994169856 |
无法创建本地用户;已达到本地用户限制。 |
0x89236202 |
-1994169854 |
已存在具有提供的实体 ID 的用户。 |
0x89236203 |
-1994169853 |
请求、提供或配置的大厅所有者迁移策略无效。 |
0x89236204 |
-1994169852 |
请求、提供或配置的大厅访问策略无效。 |
0x89236205 |
-1994169851 |
请求的对象仍在等待异步创建。 |
0x89236206 |
-1994169850 |
提供的最大成员计数值超出了允许的值范围。 |
0x89236207 |
-1994169849 |
提供的大厅属性计数超出允许的最大数目。 |
0x89236208 |
-1994169848 |
出现意外错误。 |
0x89236209 |
-1994169847 |
未能分析 json 数据。 |
0x8923620B |
-1994169845 |
提供给 PlayFab 服务的参数或值无效。 |
0x8923620C |
-1994169844 |
PlayFab 服务返回了意外的错误代码。 |
0x8923620D |
-1994169843 |
提供的实体令牌已过期。 |
0x8923620E |
-1994169842 |
用户无权执行操作。 |
0x89236212 |
-1994169838 |
PlayFab 服务返回了未知错误代码。 |
0x89236213 |
-1994169837 |
PlayFab 实体令牌格式不正确或无效。 |
0x89236214 |
-1994169836 |
指定的大厅实体 ID 无效。 |
0x89236215 |
-1994169835 |
提供的属性包包含重复的属性键。 |
0x89236216 |
-1994169834 |
超出了大厅请求速率限制。 由于已禁用重试或重试后时间过长,请求不会自动重试。 |
0x89236217 |
-1994169833 |
大厅的所有者不是大厅的成员。 |
0x8923621A |
-1994169830 |
无法完成该操作,因为提供的实体未在本地进行身份验证。 请先登录实体,并使用 SetEntityToken 为库提供令牌。 |
0x8923621B |
-1994169829 |
提供的大厅状态更改类型无效/未知。 |
0x8923621C |
-1994169828 |
提供的大厅状态更改结果无效/未知。 |
0x8923621D |
-1994169827 |
提供的大厅断开连接原因无效/未知。 |
0x8923621E |
-1994169826 |
PlayFab 服务返回了意外的“错误请求”错误。 |
0x8923621F |
-1994169825 |
提供的大厅线程 ID 无效/未知。 |
0x89236220 |
-1994169824 |
无法完成该操作,因为提供的实体不是大厅的成员。 |
0x89236221 |
-1994169823 |
PlayFab 服务返回的响应无效/格式不正确。 |
0x89236222 |
-1994169822 |
必须提供大厅更新或成员更新。 |
0x89236223 |
-1994169821 |
从大厅断开连接后,更新无法排队。 |
0x89236224 |
-1994169820 |
提供的大厅加入请求包含无效的属性删除。 |
0x89236225 |
-1994169819 |
请求的用户已经是大厅的成员。 |
0x89236226 |
-1994169818 |
请求的大厅不存在。 |
0x89236227 |
-1994169817 |
请求的大厅未处于可加入状态。 |
0x89236228 |
-1994169816 |
提供的大厅成员删除原因无效/未知。 |
0x89236229 |
-1994169815 |
无法完成该操作,因为操作成员不是所有者。 |
0x8923622A |
-1994169814 |
当所有者仍使用当前所有者迁移策略进行连接时,大厅成员无法自我提升为所有者。 |
0x8923622B |
-1994169813 |
不支持排列方式字符串版本。 |
0x8923622C |
-1994169812 |
在打包的排列方式字符串中找不到指定实体键的排列方式字符串。 |
0x8923622D |
-1994169811 |
排列方式字符串的格式无效,无法分析。 |
0x8923622E |
-1994169810 |
请求、提供或配置的大厅邀请侦听器状态无效。 |
0x8923622F |
-1994169809 |
已设置邀请侦听器,必须在重置前将其停止。 |
0x89236230 |
-1994169808 |
未设置邀请侦听器,因此无法停止。 |
0x89236231 |
-1994169807 |
请求、提供或配置的大厅成员身份锁无效。 |
0x89236232 |
-1994169806 |
成员无法重新加入大厅,因为他们已被禁止。 |
0x89236233 |
-1994169805 |
成员无法加入大厅,因为他们已经达到了可同时加入的大厅数上限。 |
0x89236234 |
-1994169804 |
如果所有者迁移策略为“自动”,则所有者无法将断开连接的成员提升为所有者。 |
0x89236235 |
-1994169803 |
连接状态无效。 |
匹配
Hex |
Dec |
说明 |
0x89236300 |
-1994169600 |
提供的匹配票证状态无效/未知。 |
0x89236301 |
-1994169599 |
提供的匹配票证结果无效/未知。 |
0x89236302 |
-1994169598 |
提供的匹配票证取消原因无效/未知。 |
0x89236303 |
-1994169597 |
提供的匹配状态更改类型无效/未知。 |
0x89236304 |
-1994169596 |
票证因取消请求而取消。 |
0x89236305 |
-1994169595 |
票证因服务错误而取消。 |
0x89236306 |
-1994169594 |
票证因在找到匹配项之前已超时而取消。 |
0x89236307 |
-1994169593 |
票证因未知原因而取消。 |
0x89236308 |
-1994169592 |
票证参数中不允许出现重复用户。 |
0x89236309 |
-1994169591 |
必须在票证参数中至少指定一个本地用户。 |
0x8923630A |
-1994169590 |
队列票证中的用户太多。 |
0x8923630B |
-1994169589 |
票证已完成。 |
0x8923630C |
-1994169588 |
尝试取消票证时遇到无法恢复的失败。 |
0x8923630D |
-1994169587 |
其中一个用户是具有过多票证的成员。 |
0x8923630F |
-1994169585 |
超出了匹配请求速率限制。 由于已禁用重试或重试后时间过长,请求不会自动重试。 |
0x89236310 |
-1994169584 |
已超时,但服务未完成票证。 |
0x89236311 |
-1994169583 |
调用实体无效。 |
0x89236312 |
-1994169582 |
票证中的一个用户具有无效属性。 |
0x89236313 |
-1994169581 |
找不到队列。 |
0x89236314 |
-1994169580 |
找不到匹配项。 |
0x89236315 |
-1994169579 |
找不到票证。 |
0x89236316 |
-1994169578 |
用户已加入票证。 |
0x89236317 |
-1994169577 |
队列配置无效。 |
0x89236318 |
-1994169576 |
票证中的某个用户具有无效的实体配置文件。 |
0x89236319 |
-1994169575 |
此游戏未启用匹配。 |
0x8923631A |
-1994169574 |
票证中某个用户的属性过大。 |
0x8923631B |
-1994169573 |
其中一个票证属性无效。 |
0x8923631C |
-1994169572 |
用户尚未加入票证。 |
0x8923631D |
-1994169571 |
队列数已超出此游戏的限制。 |
0x8923631E |
-1994169570 |
调用的 API 与请求的票证类型不匹配。 |
0x8923631F |
-1994169569 |
请求格式错误。 |
0x89236320 |
-1994169568 |
仅当票证处于匹配状态时,才能提供匹配详细信息。 |
0x89236321 |
-1994169567 |
提供的多人游戏协议类型无效。 |
全局 HRESULT 错误代码
以下 HRESULT 错误是全局错误代码,也可以由基础库引发:
全局
名称 |
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 客户端
名称 |
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 |