Skip to main content

XblAchievementsUpdateAchievementAsync

允许更新成就进度并解锁成就。

语法

参数

xboxLiveContext   _In_
类型:XblContextHandle
使用 XblContextCreateHandle 创建的 XBOX Live 上下文句柄。 xboxUserId   _In_
类型:uint64_t
玩家的 XBOX 用户 ID。 achievementId   _In_z_
类型:char*
由 XDP 或开发人员中心定义的 UTF-8 编码的成就 ID。 percentComplete   _In_
类型:uint32_t
用于指示进度的成就完成百分比。有效值为 1 到 100。设置为 100 可解锁成就。服务端会将进度设置为所发送值中的最大值。 async   _In_
类型:XAsyncBlock*
调用方分配的 AsyncBlock。

返回值

类型:HRESULT 此 API 操作的 HRESULT 返回代码。

备注

即使在 PC 和 XBOX One 上离线时,此 API 也能正常工作。即使标题未在运行,系统也会在重新建立连接时发布离线更新。可通过在 AsyncBlock 回调内或 AsyncBlock 完成后调用 XAsyncGetStatus 来获取异步操作的结果。如果成就已解锁,或进度值小于或等于服务端当前记录的值,则回调内的 XAsyncGetStatus() 将返回 HTTP_E_STATUS_NOT_MODIFIED (0x80190130L)。

REST 调用

V2 POST /users/xuid()/achievements//update

要求

头文件: achievements_c.h 库: Microsoft.Xbox.Services.14x.GDK.C.lib

另请参阅

achievements_c
最后修改于 2026年8月24日