ISteamUGC::GetItemInstallInfo:获取安装路径和大小

ISteamUGC::GetItemInstallInfo:获取安装路径和大小

GetItemInstallInfo 用于读取已经安装的工坊项目在本机的路径、大小和更新时间,供内容加载器定位文件。本页面向 Steamworks 游戏和工具开发者,说明接口声明、参数、返回方式以及与工坊内容生命周期相关的注意事项。

工坊内容获取与加载流程

函数声明

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

bool GetItemInstallInfo( PublishedFileId_t nPublishedFileID, uint64 *punSizeOnDisk, char *pchFolder, uint32 cchFolderSize, uint32 *punTimeStamp );

参数

参数 类型 方向与含义
nPublishedFileID PublishedFileId_t 输入:目标工坊项目的 PublishedFileId_t。
punSizeOnDisk uint64 * 输出:接收项目在磁盘上的大小,单位为字节。
pchFolder char * 输出:接收本地绝对路径的字符缓冲区。
cchFolderSize uint32 输入:pchFolder 缓冲区大小,单位为字节。
punTimeStamp uint32 * 输出:接收项目最近更新的时间值。

返回值与完成方式

返回 bool;true 表示已安装且输出信息可用。缓冲区大小为零、项目无内容或尚未安装时可能返回 false。

调用规则与排查

先检查 GetItemState,并为路径缓冲区提供以字节计的容量。旧式项目带 k_EItemStateLegacyItem 时路径指向文件本身;其他工坊项目通常返回内容目录。此调用还会为当前玩家记录项目已使用。主动下载返回 true 后要先等待 DownloadItemResult_t。

使用场景

例如,加载器启动时先枚举用户订阅,然后检查每个项目是否安装且无需更新。对满足条件的项目取得路径,并根据内容格式核验目录内文件;旧式项目的路径可能是文件。若主动启动下载,应等待对应结果成功后再执行此步骤。

相关接口

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

站内字段参考

DownloadItemResult_t。

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