XGameSave
XGameSave API 的設計目的是讓您能夠建立、載入、儲存和管理遊戲相關狀態。此實作與先前實作的主要差異在於,它將提供一個扁平 API,可存取非同步程式設計模型,讓呼叫端能夠控制 API 行為的執行緒處理和記憶體管理。函式
結構
| 結構 | 描述 |
|---|---|
| XGameSaveBlob | XGameSave 儲存體的資訊單位。位於 XGameSaveContainer 內。 |
| XGameSaveBlobInfo | XGameSaveBlob 的相關資訊。 |
| XGameSaveContainerInfo | XGameSaveContainer 的相關資訊。 |
錯誤碼
XGameSave API 可能會傳回下列錯誤碼。如需完整清單,請參閱錯誤碼。如需詳細的疑難排解指引,請參閱偵錯遊戲存檔。| 代碼 | 值 | 描述 |
|---|---|---|
| E_GS_INVALID_CONTAINER_NAME | 0x80830001 | 容器名稱無效。有效的容器名稱字元包括大寫/小寫字母、數字、底線和正斜線。 |
| E_GS_NO_ACCESS | 0x80830002 | 作業失敗,因為遊戲無法存取容器儲存空間。請檢查 SCID 和 TitleId 是否已正確設定。 |
| E_GS_OUT_OF_LOCAL_STORAGE | 0x80830003 | 裝置沒有足夠的儲存容量來儲存遊戲。 |
| E_GS_USER_CANCELED | 0x80830004 | 使用者取消了其遊戲存檔的下載。 |
| E_GS_UPDATE_TOO_BIG | 0x80830005 | 存檔更新的大小過大。XGameSave 更新的總大小必須小於 GS_MAX_BLOB_SIZE (16 MB)。 |
| E_GS_QUOTA_EXCEEDED | 0x80830006 | 已超過此使用者的遊戲儲存配額。 |
| E_GS_PROVIDED_BUFFER_TOO_SMALL | 0x80830007 | 提供給 API 的緩衝區太小。 |
| E_GS_BLOB_NOT_FOUND | 0x80830008 | 找不到指定的 Blob。 |
| E_GS_NO_SERVICE_CONFIGURATION | 0x80830009 | 遊戲未針對 Connected Storage 正確設定。請檢查 SCID 是否正確,以及遊戲是否已在 Partner Center 中設定。 |
| E_GS_CONTAINER_NOT_IN_SYNC | 0x8083000A | 容器尚未同步。提交更新之前,請確定 XGameSave 容器已同步。 |
| E_GS_CONTAINER_SYNC_FAILED | 0x8083000B | 容器同步失敗。 |
| E_GS_USER_NOT_REGISTERED_IN_SERVICE | 0x8083000C | 使用者的 MSA 尚未成為 XBOX services 帳戶。 |
| E_GS_HANDLE_EXPIRED | 0x8083000D | 函式所使用的控制代碼已過期,必須重新取得。 |
| E_GS_ASYNC_FUNCTION_REQUIRED | 0x8083000E | 此同步函式正在時間敏感執行緒上呼叫,有發生死結的風險。請改用非同步實作。 |
| E_GS_PROVIDER_MISMATCH | 0x8083000F | 遊戲混用了 XGameSave 和 XGameSaveFiles 呼叫,這是不支援的。 |
