“游戏保存错误”
介绍最常见的 XGameSave API 错误以及如何应对这些错误。
错误
0x80830001 - E_GS_INVALID_CONTAINER_NAME
容器名称无效。
容器名称的路径部分的有效字符(直至包括最终的正斜杠)包括大写字母 (A-Z)、小写字母 (a-z)、数字 (0-9)、下划线 (_) 和正斜杠 (/)。 路径部分可能为空。
文件名称部分的有效字符(每个字符都在最终的正斜杠后)包括大写字母 (A-Z)、小写字母 (a-z)、数字 (0-9)、下划线 (_)、句点 (.) 和连字符 (-)。 文件名不得为空,不得以句号结尾,也不得包含两个连续的句号。
0x80830002 - E_GS_NO_ACCESS
Xbox 服务配置 ID (SCID) 在服务上没有正确配置。
0x80830003 - E_GS_OUT_OF_LOCAL_STORAGE
该设备保存游戏的空间已用完。 用户需要释放设备上的存储空间。 即使尚未超出游戏中各用户的存储配额,也会出现此错误。
0x80830004 - E_GS_USER_CANCELED
用户取消下载其保存的游戏。
0x80830005 - E_GS_UPDATE_TOO_BIG
更新的尺寸太大。 无论 Blobs 的总数为多少,更新的总大小必须小于 GS_MAX_BLOB_SIZE (16 MB)。
0x80830006 - E_GS_QUOTA_EXCEEDED
该游戏已超过该游戏每个用户的配额。 默认情况下,该配额为 256MB。 游戏可以要求例外情况,使之变得更大。
0x80830007 - E_GS_PROVIDED_BUFFER_TOO_SMALL
提供给 API 的缓冲区太小。
0x80830008 - E_GS_BLOB_NOT_FOUND
无法找到指定的 Blob。
0x80830009 - E_GS_NO_SERVICE_CONFIGURATION
片头未正确配置为使用连接存储。 这可能是因为 SCID 错误,或者是因为在合作伙伴中心未正确配置。
0x8083000A - E_GS_CONTAINER_NOT_IN_SYNC
尚未同步容器。
0x8083000B - E_GS_CONTAINER_SYNC_FAILED
容器同步失败。
0x8083000C - E_GS_USER_NOT_REGISTERED_IN_SERVICE
这表示 MSA 尚不是 Xbox 服务帐户。
0x8083000D - E_GS_HANDLE_EXPIRED
函数使用的图柄已过期,应重新调用。 有三种 XGameSave 使用的手柄类型: XGameSaveProviderHandle、XGameSaveContainerHandle 和 XGameSaveUpdateHandle。 XGameSaveUpdateHandle 在提交更新后无法重新使用。 此外,XGameSaveUpdateHandle 在游戏暂停后不再有效。
0x8083000E - E_GS_ASYNC_FUNCTION_REQUIRED
该函数在时间敏感线程上调用。 这可能导致游戏中的死锁。 调用者应该使用异步版本的 API。 有关详细信息,请参阅 时间敏感线程。
0x80831001 - E_GS_TERMINATEDTITLE_STALE_DATA
此错误永远不会通过任何面向用户的 XGameSave API 返回到游戏。 相反,开发人员可能会在游戏终止时在其调试输出中看到此信息。 此错误表示游戏在初始化游戏保存提供程序时没有连接的存储锁。 这可能是由于多种原因导致的,包括当时处于脱机状态或在出现冲突对话框时让用户选择离线玩游戏。 由于游戏没有连接的存储锁,因此操作系统将终止游戏并在暂停时显示此错误,以便使游戏在下次启动时处于良好状态。
0x8083000F - E_GS_PROVIDER_MISMATCH
游戏正在尝试混合和匹配 XGameSave 和 XGameSaveFiles 的使用情况。 此操作不受支持。 游戏必须选择要在游戏内使用的云存储系统。