ISteamUGC::GetSubscribedItems:获取订阅项目 ID 列表
GetSubscribedItems 用于将当前用户在本应用中的订阅项目 ID 写入调用者提供的数组,用于构建 Mod 列表。本页面向 Steamworks 游戏和工具开发者,说明接口声明、参数、返回方式以及与工坊内容生命周期相关的注意事项。
函数声明
客户端通过初始化成功后的 SteamUGC() 接口访问;游戏服务器使用服务器上下文的 SteamGameServerUGC()。以下声明按本次核对的官方接口整理,编译时应以项目实际使用的 SDK 头文件为准。
uint32 GetSubscribedItems( PublishedFileId_t*pvecPublishedFileID, uint32 cMaxEntries, bool bIncludeLocallyDisabled = false );
参数
| 参数 | 类型 | 方向与含义 |
|---|---|---|
pvecPublishedFileID |
PublishedFileId_t* |
输出:接收订阅项目 ID 的数组。 |
cMaxEntries |
uint32 |
输入:输出数组可容纳的最大项目数,单位为元素。 |
bIncludeLocallyDisabled |
bool |
输入:是否包含本地禁用项目;默认 false。 |
返回值与完成方式
返回 uint32,表示实际写入的 ID 数量;游戏服务器调用返回 0。默认忽略本地禁用项目。
读取返回值后,应按其实际含义处理计数或位标志;涉及输出数组时只遍历实际写入的元素,不要把缓冲区容量误当作结果数量。
调用规则与排查
可先用 GetNumSubscribedItems 取得容量,并为数组分配足够元素;两次调用的禁用项目选项应一致。项目默认按订阅顺序排列,用户或应用可能调整顺序。订阅并不保证文件已经安装。
使用场景
例如,构建游戏内 Mod 管理列表时,先以是否包含禁用项为条件获取数量,再分配对应容量并取得项目 ID。读取返回的实际数量后逐项查询状态,区分已安装、待下载和需要更新。若需要在管理界面恢复禁用项,两次枚举都要包含禁用项。
相关接口
GetNumSubscribedItems、SetItemsDisabledLocally、SetSubscriptionsLoadOrder。回调、状态与类型参考整理了相关结构体和枚举,适合在处理结果时对照使用。
资料依据:Steamworks ISteamUGC:GetSubscribedItems。资料核对日期:2026 年 11 月 4 日。