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。回调、状态与类型参考整理了相关结构体和枚举,适合在处理结果时对照使用。
站内字段参考
资料依据:Steamworks ISteamUGC:GetItemInstallInfo。资料核对日期:2026 年 11 月 4 日。