ISteamUGC::GetDownloadedItems:枚举本地下载项目

ISteamUGC::GetDownloadedItems:枚举本地下载项目

GetDownloadedItems 用于把已下载的工坊项目 ID 写入数组,供缓存管理或内容检查使用。本页面向 Steamworks 游戏和工具开发者,说明接口声明、参数、返回方式以及与工坊内容生命周期相关的注意事项。

工坊内容获取与加载流程

函数声明

客户端通过初始化成功后的 SteamUGC() 接口访问;游戏服务器使用服务器上下文的 SteamGameServerUGC()。以下声明按本次核对的官方接口整理,编译时应以项目实际使用的 SDK 头文件为准。

uint32 GetDownloadedItems( PublishedFileId_t *pvecPublishedFileIDs, uint32 cMaxEntries );

参数

参数 类型 方向与含义
pvecPublishedFileIDs PublishedFileId_t * 输出:接收下载项目 ID 的数组。
cMaxEntries uint32 输入:输出数组可容纳的最大项目数,单位为元素。

返回值与完成方式

声明返回 uint32,表示实际写入数组的 ID 数;游戏服务器调用返回 0。

读取返回值后,应按其实际含义处理计数或位标志;涉及输出数组时只遍历实际写入的元素,不要把缓冲区容量误当作结果数量。

调用规则与排查

先为 pvecPublishedFileIDs 分配足够的元素容量,cMaxEntries 按数组元素数量填写。官方参数表误将 cMaxEntries 标为 bool,而函数声明为 uint32;集成以 SDK 头文件为准。内容可能为临时缓存,列表存在不代表永久保留。

使用场景

例如,工具展示本机下载项目时,先获取一个数量作为容量参考,再把准备好的数组传给本方法。读取实际写入数量并逐项检查状态;如果项目已被标记为不再使用,实际缓存仍可能因其他用户订阅而保留,界面应据实显示。

相关接口

GetNumDownloadedItems、MarkDownloadedItemAsUnused。回调、状态与类型参考整理了相关结构体和枚举,适合在处理结果时对照使用。

资料依据:Steamworks ISteamUGC:GetDownloadedItems。资料核对日期:2026 年 11 月 4 日。