XGameSaveCreateContainer

创建一个 XGameSaveContainer 句柄。

语法

HRESULT XGameSaveCreateContainer(  
         XGameSaveProviderHandle provider,  
         const char* containerName,  
         XGameSaveContainerHandle* containerContext  
)  

参数

provider _In_
类型:XGameSaveProviderHandle

将创建容器的 XGameSaveProvider 的句柄。

containerName _In_z_
类型:char*

要创建的容器的名称。

容器名称的路径部分的有效字符(直至包括最终的正斜杠)包括大写字母 (A-Z)、小写字母 (a-z)、数字 (0-9)、下划线 (_) 和正斜杠 (/)。 路径部分可能为空。

文件名称部分的有效字符(每个字符都在最终的正斜杠后)包括大写字母 (A-Z)、小写字母 (a-z)、数字 (0-9)、下划线 (_)、句点 (.) 和连字符 (-)。 文件名不能为空、以句点结尾或包含两个连续句点。

容器名称的最大长度是 256 个字符。

containerContext _Outptr_result_nullonfailure_
类型:XGameSaveContainerHandle*

要由此函数调用返回的 XGameSaveContainer 的句柄。

返回值

类型:HRESULT

函数结果。 如果 containerName 无效,该函数将返回 E_GS_INVALID_CONTAINER_NAME (0x80830001)。

备注

注意

在时间敏感线程上调用此函数是不安全的。 有关详细信息,请参阅时间敏感线程

注意

XGameSave API 要求游戏具有其游戏 ID 和服务配置 ID (SCID) 正确配置才能正常工作。 有关这些所需 ID 的详细信息,请参阅为 Xbox Live 开发设置沙箱。 您的游戏必须在合作伙伴中心启用 Xbox Live。

如果您未正确配置 SCID 和游戏 ID,则 XSaveGame API 调用将失败,并出现以下错误代码:

E_GS_NO_ACCESS - 0x80830002 - 操作失败,因为该游戏不具有访问容器存储空间的权限。

XGameSaveCreateContainer 用于通过使用名称作为标识符,创建一个新容器和访问以前生成的容器。 游戏保存容器通过 XGameSaveBlobs 的形式承载与玩家有关的信息。 Blob 是与某一玩家相关联的特定数据,这些数据包含名称和值以及有助于读取 blob 数据的其他信息。 您可以在 XGameSaveContainerInfo 结构中查找 XGameSaveContainer 的构成形式。

注意

在为容器调用 XGameSaveSubmitUpdateXGameSaveSubmitUpdateAsync 之前,容器不会完成。 在调用更新 API 之前,容器将不会在 XGameSaveEnumerateContainerInfoByName 的结果中交付。

要求

头文件:XGameSave.h

库:xgameruntime.lib

支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机

另请参阅

XGameSave
XGameSaveContainerInfo
XGameSaveBlob
游戏保存错误