ISteamUGC::GetNumDownloadedItems:获取本地下载项目数量

ISteamUGC::GetNumDownloadedItems:获取本地下载项目数量

GetNumDownloadedItems 用于统计实际下载到本地的工坊项目,供读取下载 ID 列表前估算数组容量。本页面向 Steamworks 游戏和工具开发者,说明接口声明、参数、返回方式以及与工坊内容生命周期相关的注意事项。

工坊内容获取与加载流程

函数声明

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

uint32 GetNumDownloadedItems();

参数

此函数没有参数;它使用当前应用和当前 Steam 上下文。

返回值与完成方式

声明返回 uint32 数量;官方页面的返回说明却将类型写为 bool,二者冲突,应以项目使用的 SDK 头文件为准。

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

调用规则与排查

下载项目数量与订阅数量不是同一个指标:未订阅项目可能位于临时缓存,而已订阅项目也可能还在下载。使用这个值作为 GetDownloadedItems 的初始容量,并以实际写入数量控制遍历。

使用场景

例如,缓存管理界面需要先估算下载列表容量时,可以读取数量,为数组准备空间,再调用 GetDownloadedItems。列表可能在两次调用之间发生变化,因此显示时应以实际返回数量为边界;若需要完整最新列表,可重新查询并调整容量。

相关接口

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

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