Steamworks 文献库
ISteamRemoteStorage 接口
提供函数以读取、写入、访问能远程存储在 Steam 云上的文件。

参见 Steam 云,了解更多信息。

成员函数

ISteamRemoteStorage 的成员函数通过全局访问器函数 ISteamRemoteStorage() 调用。

BeginFileWriteBatch

bool BeginFileWriteBatch( );

EndFileWriteBatch 一起使用来包装一组本地文件写入/删除,这些写入/删除应被视为单个状态更改的一部分。 例如,如果保存游戏进度需要同时更新 savegame1.datmaxprogress.dat,请使用对 BeginFileWriteBatchEndFileWriteBatch 的调用来包装这些操作。

这些函数会提示 Steam,而 Steam 会帮助其管理应用的云文件。 这些函数的使用为可选,不过使用它们会更加可靠。

请注意,无论是使用 ISteamRemoteStorage API 进行写入的,还是直接写入本地磁盘(使用 AutoCloud 的地方)的,都可以使用这些函数。

返回: bool
true, 表示批次写入开始,false,表示已有某个批次在进行中。

CommitPublishedFileUpdate

SteamAPICall_t CommitPublishedFileUpdate( PublishedFileUpdateHandle_t updateHandle );
名称类型描述
updateHandlePublishedFileUpdateHandle_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageUpdatePublishedFileResult_t 调用结果一起使用。

CreatePublishedFileUpdateRequest

PublishedFileUpdateHandle_t CreatePublishedFileUpdateRequest( PublishedFileId_t unPublishedFileId );
名称类型描述
unPublishedFileIdPublishedFileId_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: PublishedFileUpdateHandle_t

DeletePublishedFile

SteamAPICall_t DeletePublishedFile( PublishedFileId_t unPublishedFileId );
名称类型描述
unPublishedFileIdPublishedFileId_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageDeletePublishedFileResult_t 调用结果一起使用。

EndFileWriteBatch

bool EndFileWriteBatch( );

BeginFileWriteBatch 一起使用;请参见相关文档以获取更多详情。

返回: bool
true, 表示写入批次已完成,false,表示没有批次正在进行中。

EnumeratePublishedFilesByUserAction

SteamAPICall_t EnumeratePublishedFilesByUserAction( EWorkshopFileAction eAction, uint32 unStartIndex );
名称类型描述
eActionEWorkshopFileAction
unStartIndexuint32

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageEnumeratePublishedFilesByUserActionResult_t 调用结果一起使用。

EnumeratePublishedWorkshopFiles

SteamAPICall_t EnumeratePublishedWorkshopFiles( EWorkshopEnumerationType eEnumerationType, uint32 unStartIndex, uint32 unCount, uint32 unDays, SteamParamStringArray_t *pTags, SteamParamStringArray_t *pUserTags );
名称类型描述
eEnumerationTypeEWorkshopEnumerationType
unStartIndexuint32
unCountuint32
unDaysuint32
pTagsSteamParamStringArray_t *
pUserTagsSteamParamStringArray_t *

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageEnumerateWorkshopFilesResult_t 调用结果一起使用。

EnumerateUserPublishedFiles

SteamAPICall_t EnumerateUserPublishedFiles( uint32 unStartIndex );
名称类型描述
unStartIndexuint32

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageEnumerateUserPublishedFilesResult_t 调用结果一起使用。

EnumerateUserSharedWorkshopFiles

SteamAPICall_t EnumerateUserSharedWorkshopFiles( CSteamID steamId, uint32 unStartIndex, SteamParamStringArray_t *pRequiredTags, SteamParamStringArray_t *pExcludedTags );
名称类型描述
steamIdCSteamID
unStartIndexuint32
pRequiredTagsSteamParamStringArray_t *
pExcludedTagsSteamParamStringArray_t *

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageEnumerateUserPublishedFilesResult_t 调用结果一起使用。

EnumerateUserSubscribedFiles

SteamAPICall_t EnumerateUserSubscribedFiles( uint32 unStartIndex );
名称类型描述
unStartIndexuint32

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageEnumerateUserSubscribedFilesResult_t 调用结果一起使用。

FileDelete

bool FileDelete( const char *pchFile );
名称类型描述
pchFileconst char *要删除的文件的名称。

从本地磁盘中删除一个文件,并将该删除传播到云端。

此函数应该只在用户主动删除文件时使用。 如果您希望将一个文件从 Steam 云中移除,但将其保留在用户的本地磁盘,则需使用 FileForget

您删除文件后,可以使用 FileWrite 重新写入该文件,以将其重新上传至 Steam 云。

返回: bool
true, 表示文件存在且已成功删除;否则,如果文件不存在,返回 false

FileExists

bool FileExists( const char *pchFile );
名称类型描述
pchFileconst char *文件名称。

检查指定文件是否存在。

返回: bool
true, 表示文件存在;否则,返回 false

FileFetch

bool FileFetch( const char *pchFile );
名称类型描述
pchFileconst char *

已弃用 - 仅限 PS3。

返回: bool

FileForget

bool FileForget( const char *pchFile );
名称类型描述
pchFileconst char *要遗忘的文件名称。

将文件从远程存储删除,但保留在本地磁盘上,且仍能从 API 访问。

当您的云空间不够时,您可以使用此函数,使对 FileWrite 的调用继续进行,而无需用户删除文件。

您可以决定如何遗忘哪些文件。 可以是简单的最近最少使用(LRU)队列或者更复杂的方式。

虽然要求用户去管理自己存储于云端的游戏文件是可能的,但我们一向不建议这么做。 比如,类似于“为了存储这一新的文件,您想要删除哪个文件?”的问题去除了使用云端一个本来的重要优势:透明性。

文件一旦被删除或遗忘,调用 FileWrite 将在云端重新同步该文件。 重新写入遗忘的文件是再次保留该文件的唯一方式。

返回: bool
true, 表示文件存在且已被成功遗忘;否则返回 false

FilePersist

bool FilePersist( const char *pchFile );
名称类型描述
pchFileconst char *

已弃用 - 仅限 PS3。

返回: bool

FilePersisted

bool FilePersisted( const char *pchFile );
名称类型描述
pchFileconst char *文件名称。

查看一个特定文件是否在 Steam 云上保留。

返回: bool
true, 表示文件存在且已在 Steam 云上保留。
false, 表示对文件调用了 FileForget 且文件只留在本地。

FileRead

int32 FileRead( const char *pchFile, void *pvData, int32 cubDataToRead );
名称类型描述
pchFileconst char *要读取的文件名称。
pvDatavoid *文件将读入的缓冲区。 此缓冲区必须至少与提供给 cubDataToRead 的大小相同。
cubDataToReadint32要读取的字节数。 一般通过 GetFileSizeGetFileTimestamp 获得。

打开一个二进制文件,将文件内容读取至一个字节数组,然后关闭文件。

注意: 这是一个同步调用,因此将阻止您调用磁盘 IO 的线程,也将阻止 SteamAPI,这可能导致您应用程序中的其他线程受阻。 要避免客户端电脑由于磁盘繁忙出现“卡顿”,我们建议使用此API 的异步版本,即 FileReadAsync

返回: uint32
读取的字节量。

如果文件不存在或读取失败,返回 0

FileReadAsync

SteamAPICall_t FileReadAsync( const char *pchFile, uint32 nOffset, uint32 cubToRead );
名称类型描述
pchFileconst char *要读取的文件名称。
nOffsetuint32从文件何处开始读取的偏移量,以字节计。 如果您一次读取整个文件,则为 0
cubToReaduint32nOffset 开始读取的字节量。

开始异步读取一个文件。

偏移量与读取量应该对 GetFileSizeGetFileTimestamp 表明的文件大小有效。

返回: SteamAPICall_t,与RemoteStorageFileReadAsyncComplete_t 调用结果一起使用。
在下列情况时,返回 k_uAPICallInvalid
  • 尝试从无效路径或文件名读取。 由于 Steam 云是跨平台的,文件需要在支持的所有操作系统与文件系统中均有有效名称。 参见微软命名文件、路径与命名空间文档。
  • 文件不存在。
  • cubDataToRead为 <=0 字节。 您需要有内容可读!
  • pvDatacubDataToRead组合读取的范围将超过文件结尾。
  • 您正在对此文件进行异步读取。

读取请求完成后,您将收到调用结果,如果调用结果中的 m_eResult 值为 k_EResultOK,您可以再调用 FileReadAsyncComplete,将请求的数据读入您的缓冲区。 hReadCall 参数应与此函数返回的值一致,读取量一般应与 m_nOffsetm_cubRead 表示的请求量相等。

FileReadAsyncComplete

bool FileReadAsyncComplete( SteamAPICall_t hReadCall, void *pvBuffer, uint32 cubToRead );
名称类型描述
hReadCallSteamAPICall_tRemoteStorageFileReadAsyncComplete_t 获得的调用结果句柄。
pvBuffervoid *文件将读入的缓冲区。
cubToReaduint32要复制的字节数。 这通常应该是来自 RemoteStorageFileReadAsyncComplete_tm_cubRead 值。

将用 FileReadAsync 异步读取的文件的字节复制入字节数组。

绝不能从 RemoteStorageFileReadAsyncComplete_t 调用结果的上下文之外调用此函数。

返回: bool
true, 表示文件成功读取。

否则,在下列情况时,返回 false
  • 传入 hReadCall 的句柄无效。
  • RemoteStorageFileReadAsyncComplete_t 中的 m_eResult 所示,读取失败,您不应调用此函数。
  • 提供给 pvBuffer 的缓冲区不够大。

FileShare

SteamAPICall_t FileShare( const char *pchFile );
名称类型描述
pchFileconst char *

返回: SteamAPICall_t,与 RemoteStorageFileShareResult_t 调用结果一起使用。

FileWrite

bool FileWrite( const char *pchFile, const void *pvData, int32 cubData );
名称类型描述
pchFileconst char *要写入的文件的名称。
pvDataconst void *要写入文件的字节。
cubDataint32要写入文件的字节数。 通常为 pvData 的总大小。

创建一个新文件,将字节写入文件,再关闭文件。 目标文件若已存在,将被覆盖。

注意: 这是一个同步调用,因此将阻止您调用磁盘 IO 的线程,也将阻止 SteamAPI,这可能导致您应用程序中的其他线程受阻。 要避免客户端电脑由于磁盘繁忙出现“卡顿”,我们建议使用此API 的异步版本,即 FileWriteAsync

返回: bool
true, 表示写入成功。

否则,在下列情况时,返回 false
  • 您尝试写入的文件大于 k_unMaxCloudFileChunkSize 所规定的 100MiB。
  • cubData 小于 0
  • pvDataNULL
  • 您尝试从无效路径或文件名读取。 由于 Steam 云是跨平台的,文件需要在支持的所有操作系统与文件系统中均有有效名称。 参见微软命名文件、路径与命名空间文档。
  • 超过了当前用户的 Steam 云存储配额。 云存储或者缺乏空间,或者有过多文件。
  • Steam 无法写入磁盘,该位置可能为只读。

FileWriteAsync

SteamAPICall_t FileWriteAsync( const char *pchFile, const void *pvData, uint32 cubData );
名称类型描述
pchFileconst char *要写入的文件的名称。
pvDataconst void *要写入文件的字节。
cubDatauint32要写入文件的字节数。 通常为 pvData 的总大小。

创建一个新文件,向 Steam 云异步写入原始字节数据,再关闭文件。 目标文件若已存在,将被覆盖。

返回: SteamAPICall_t,与RemoteStorageFileReadAsyncComplete_t 调用结果一起使用。
在下列情况时,返回 k_uAPICallInvalid
  • 您尝试写入的文件大于 k_unMaxCloudFileChunkSize 所规定的 100MiB。
  • cubData 小于 0
  • pvDataNULL
  • 您尝试从无效路径或文件名读取。 由于 Steam 云是跨平台的,文件需要在支持的所有操作系统与文件系统中均有有效名称。 参见微软命名文件、路径与命名空间文档。
  • 超过了当前用户的 Steam 云存储配额。 云存储或者缺乏空间,或者有过多文件。

FileWriteStreamCancel

bool FileWriteStreamCancel( UGCFileWriteStreamHandle_t writeHandle );
名称类型描述
writeHandleUGCFileWriteStreamHandle_t要取消的文件写入流。

取消 FileWriteStreamOpen 开始的文件写入流。

这将取消所有写入的数据,并关闭写入流。但是,如果有带有此名称的现有文件,该文件保持不变。

返回: bool

FileWriteStreamClose

bool FileWriteStreamClose( UGCFileWriteStreamHandle_t writeHandle );
名称类型描述
writeHandleUGCFileWriteStreamHandle_t要关闭的文件写入流。

关闭 FileWriteStreamOpen 开始的文件写入流。

这将刷新向磁盘的数据流,如果有现存的文件,将覆盖该文件。

返回: bool
true, 表示文件写入流关闭成功,且文件已提交到磁盘。
false, 表示 writeHandle 不是有效的文件写入流。

FileWriteStreamOpen

UGCFileWriteStreamHandle_t FileWriteStreamOpen( const char *pchFile );
名称类型描述
pchFileconst char *要写入的文件的名称。

创建新文件输出流让您能将数据以区块的形式输出至 Steam 云。 如果目标文件已经存在,只有在 FileWriteStreamClose 已调用时才会被覆盖。

要将数据写出至此流,您可以使用 FileWriteStreamWriteChunk,再分别使用 FileWriteStreamCloseFileWriteStreamCancel 关闭或取消。

返回: UGCFileWriteStreamHandle_t
在以下情况下返回 k_UGCFileStreamHandleInvalid
  • 您尝试写入无效的路径或文件名。 由于 Steam 云是跨平台的,文件需要在支持的所有操作系统与文件系统中均有有效名称。 参见微软命名文件、路径与命名空间文档。
  • 超过了当前用户的 Steam 云存储配额。 云存储或者缺乏空间,或者有过多文件。

FileWriteStreamWriteChunk

bool FileWriteStreamWriteChunk( UGCFileWriteStreamHandle_t writeHandle, const void *pvData, int32 cubData );
名称类型描述
writeHandleUGCFileWriteStreamHandle_t要写入的文件写入流。
pvDataconst void *要写入流的数据。
cubDataint32pvData 的字节大小。

将一份 blob 数据写入文件写入流。

返回: bool
true, 表示数据成功写入文件写入流。
false, 表示 writeHandle 为无效写入流,或 cubData 为负或大于 k_unMaxCloudFileChunkSize,或者当前用户的 Steam 云存储配额超额。 云存储或者缺乏空间,或者有过多文件。

GetCachedUGCCount

int32 GetCachedUGCCount();

返回: int32

GetCachedUGCHandle

UGCHandle_t GetCachedUGCHandle( int32 iCachedContent );
名称类型描述
iCachedContentint32

返回: UGCHandle_t

GetFileCount

int32 GetFileCount();
获取 Steam 云同步的本地文件的总数量。

用于通过 GetFileNameAndSize 枚举。

返回: int32
呈现给当前用户的文件数量,包括子文件夹中的文件。

GetFileListFromServer

void GetFileListFromServer();
已弃用 - 仅限 PS3。

GetFileNameAndSize

const char * GetFileNameAndSize( int iFile, int32 *pnFileSizeInBytes );
名称类型描述
iFileint文件的索引,应在 0 与 GetFileCount 之间。
pnFileSizeInBytesint32 *返回文件的字节大小。

通过索引获得一个文件的名称与大小。

注意: 您必须先调用 GetFileCount 获得文件数量。

返回: const char *
如果位于指定索引的文件存在的话,就返回文件名。 若文件不存在,返回空字符串("")。

示例:
int32 fileCount = SteamRemoteStorage()->GetFileCount(); for ( int i = 0; i < fileCount; ++i ) { int32 fileSize; const char *fileName = SteamRemoteStorage()->GetFileNameAndSize( i, &fileSize ); // 对 fileSize 与 fileName 进行操作 }

GetFileSize

int32 GetFileSize( const char *pchFile );
名称类型描述
pchFileconst char *文件名称。

获取指定文件的字节大小。

返回: int32
文件的字节大小。 如果文件不存在,返回 0

GetFileTimestamp

int64 GetFileTimestamp( const char *pchFile );
名称类型描述
pchFileconst char *文件名称。

获得指定文件最近一次修改的 Unix 时间戳(自 1970 年 1 月 1 日起的秒数)。

返回: int64
最近一次修改的 Unix 时间戳(自 1970 年 1 月 1 日起的秒数)。

GetLocalFileChangeCount

int32 GetLocalFileChangeCount( );

注意:仅适用于标记为支持动态 Steam 云同步的应用程序。

当您的应用程序收到 RemoteStorageLocalFileChange_t 时,使用此方法获取已进行的更改(文件更新和文件删除)的数量。 您可以使用 GetLocalFileChange 来循环访问更改。

返回: int32
本地文件被更改的次数。

GetLocalFileChange

const char *GetLocalFileChange( int iFile, ERemoteStorageLocalFileChange *pEChangeType, ERemoteStorageFilePathType *pEFilePathType );

注意:仅适用于标记为支持动态 Steam 云同步的应用程序。

在调用 GetLocalFileChangeCount 后,使用此方法来循环访问更改。 已经对本地文件做出了上述更改。 您的应用程序应当采取相应的操作从磁盘重新加载状态,可能的话请通知用户。

例如:本地系统挂起,而在此期间用户在别处玩了游戏,并向 Steam 云上传了更改。 继续玩的时候,Steam 会在执行应用程序前下载这些更改至本地系统。 应用程序会收到 RemoteStorageLocalFileChange_t,并使用 GetLocalFileChangeCountGetLocalFileChange 来循环访问这些变更。 视应用程序的结构和变更属性而定,应用程序可能会:

  • 重新加载游戏进度以从用户在另一台设备上退出游戏时所处的位置继续
  • 通知用户有无需重新加载就可以生效的已同步的更改
  • 其他


名称类型描述
iFileint32变更的索引,从 0 开始
pEChangeTypeERemoteStorageLocalFileChange文件发生了什么
pEFilePathTypeERemoteStorageFilePathType返回文件的路径类型

返回: const char *
受此更改影响的文件的文件名或完整路径。 请参见上方 pEFilePathType 的描述了解更多详情。

GetPublishedFileDetails

SteamAPICall_t GetPublishedFileDetails( PublishedFileId_t unPublishedFileId, uint32 unMaxSecondsOld );
名称类型描述
unPublishedFileIdPublishedFileId_t
unMaxSecondsOlduint32

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageGetPublishedFileDetailsResult_t 调用结果一起使用。

GetPublishedItemVoteDetails

SteamAPICall_t GetPublishedItemVoteDetails( PublishedFileId_t unPublishedFileId );
名称类型描述
unPublishedFileIdPublishedFileId_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageGetPublishedItemVoteDetailsResult_t 调用结果一起使用。

GetQuota

bool GetQuota( uint64 *pnTotalBytes, uint64 *puAvailableBytes );
名称类型描述
pnTotalBytesuint64 *返回用户可访问的字节总量。
puAvailableBytesuint64 *返回可用的字节数。

获得可用的字节数,以及在用户的 Steam 云存储中使用的字节数。

返回: bool
此函数始终返回 true

GetSyncPlatforms

ERemoteStoragePlatform GetSyncPlatforms( const char *pchFile );
名称类型描述
pchFileconst char *文件名称。

获取指定文件将同步至的平台。

返回: ERemoteStoragePlatform
包含使用 SetSyncPlatforms 设置的文件平台的位域。

GetUGCDetails

bool GetUGCDetails( UGCHandle_t hContent, AppId_t *pnAppID, char **ppchName, int32 *pnFileSizeInBytes, CSteamID *pSteamIDOwner );
名称类型描述
hContentUGCHandle_t
pnAppIDAppId_t *
ppchNamechar **
pnFileSizeInBytesint32 *
pSteamIDOwnerCSteamID *

返回: bool

GetUGCDownloadProgress

bool GetUGCDownloadProgress( UGCHandle_t hContent, int32 *pnBytesDownloaded, int32 *pnBytesExpected );
名称类型描述
hContentUGCHandle_t
pnBytesDownloadedint32 *
pnBytesExpectedint32 *

返回: bool

GetUserPublishedItemVoteDetails

SteamAPICall_t GetUserPublishedItemVoteDetails( PublishedFileId_t unPublishedFileId );
名称类型描述
unPublishedFileIdPublishedFileId_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageGetPublishedItemVoteDetailsResult_t 调用结果一起使用。

IsCloudEnabledForAccount

bool IsCloudEnabledForAccount();
检查是否此用户帐户中的所有 Steam 云设置都已启用,或者是否用户在“设置”->“云”对话框禁用了 Steam 云。

确定您也检查了 IsCloudEnabledForApp。这两个选项互相排斥。

返回: bool
true, 表示此帐户启用了 Steam 云;否则,返回 false

IsCloudEnabledForApp

bool IsCloudEnabledForApp();
查看是否此用户启用了按游戏设置的 Steam 云,或在“游戏属性”->“更新”对话框中禁用了 Steam 云。

确定您也检查了 IsCloudEnabledForAccount。这两个选项互相排斥。

我们一般建议您允许用户使用游戏内选项切换此设置。您可以使用 SetCloudEnabledForApp 进行切换。

返回: bool
true, 表示 Steam 云为此应用启用;否则,返回 false

PublishVideo

SteamAPICall_t PublishVideo( EWorkshopVideoProvider eVideoProvider, const char *pchVideoAccount, const char *pchVideoIdentifier, const char *pchPreviewFile, AppId_t nConsumerAppId, const char *pchTitle, const char *pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t *pTags );
名称类型描述
eVideoProviderEWorkshopVideoProvider
pchVideoAccountconst char *
pchVideoIdentifierconst char *
pchPreviewFileconst char *
nConsumerAppIdAppId_t
pchTitleconst char *
pchDescriptionconst char *
eVisibilityERemoteStoragePublishedFileVisibility
pTagsSteamParamStringArray_t *

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStoragePublishFileProgress_t 调用结果一起使用。

PublishWorkshopFile

SteamAPICall_t PublishWorkshopFile( const char *pchFile, const char *pchPreviewFile, AppId_t nConsumerAppId, const char *pchTitle, const char *pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t *pTags, EWorkshopFileType eWorkshopFileType );
名称类型描述
pchFileconst char *
pchPreviewFileconst char *
nConsumerAppIdAppId_t
pchTitleconst char *
pchDescriptionconst char *
eVisibilityERemoteStoragePublishedFileVisibility
pTagsSteamParamStringArray_t *
eWorkshopFileTypeEWorkshopFileType

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回值: SteamAPICall_t,与 RemoteStoragePublishFileProgress_t 调用结果一起使用。

ResetFileRequestState

bool ResetFileRequestState();
已弃用 - 仅限 PS3。

返回值: bool

SetCloudEnabledForApp

void SetCloudEnabledForApp( bool bEnabled );
名称类型描述
bEnabledbool是为此应用程序启用(true)还是禁用(false)Steam 云?

让您的应用程序在启用或禁用 Steam 云间切换。

此设置可以使用 IsCloudEnabledForApp 查询。

注意: 只有用户明确请求启用或禁用时才能调用此函数。 通常在您的游戏内选项中配有复选框以供选择。

SetSyncPlatforms

bool SetSyncPlatforms( const char *pchFile, ERemoteStoragePlatform eRemoteStoragePlatform );
名称类型描述
pchFileconst char *文件名称。
eRemoteStoragePlatformERemoteStoragePlatform文件将同步至的平台。

允许您指定文件将同步入哪个操作系统。

如果您拥有一个多平台游戏,但是数据在各平台间不兼容时,使用此函数。

文件一开始创建时,默认为 k_ERemoteStoragePlatformAll。 您可以使用“或”位运算符“|”指定多个平台。

返回: bool
true, 表示文件存在;否则返回 false。

SetUserPublishedFileAction

SteamAPICall_t SetUserPublishedFileAction( PublishedFileId_t unPublishedFileId, EWorkshopFileAction eAction );
名称类型描述
unPublishedFileIdPublishedFileId_t
eActionEWorkshopFileAction

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageSetUserPublishedFileActionResult_t 调用一起使用。

SubscribePublishedFile

SteamAPICall_t SubscribePublishedFile( PublishedFileId_t unPublishedFileId );
名称类型描述
unPublishedFileIdPublishedFileId_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageUpdatePublishedFileResult_t 调用结果一起使用。

UGCDownload

SteamAPICall_t UGCDownload( UGCHandle_t hContent, uint32 unPriority );
名称类型描述
hContentUGCHandle_t
unPriorityuint32

返回: SteamAPICall_t,与 RemoteStorageDownloadUGCResult_t 调用结果一起使用。

UGCDownloadToLocation

SteamAPICall_t UGCDownloadToLocation( UGCHandle_t hContent, const char *pchLocation, uint32 unPriority );
名称类型描述
hContentUGCHandle_t
pchLocationconst char *
unPriorityuint32

返回: SteamAPICall_t,与 RemoteStorageDownloadUGCResult_t 调用结果一起使用。

UGCRead

int32 UGCRead( UGCHandle_t hContent, void *pvData, int32 cubDataToRead, uint32 cOffset, EUGCReadAction eAction );
名称类型描述
hContentUGCHandle_t
pvDatavoid *
cubDataToReadint32
cOffsetuint32
eActionEUGCReadAction

返回: int32

UnsubscribePublishedFile

SteamAPICall_t UnsubscribePublishedFile( PublishedFileId_t unPublishedFileId );
名称类型描述
unPublishedFileIdPublishedFileId_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageUnsubscribePublishedFileResult_t 调用结果一起使用。

UpdatePublishedFileDescription

bool UpdatePublishedFileDescription( PublishedFileUpdateHandle_t updateHandle, const char *pchDescription );
名称类型描述
updateHandlePublishedFileUpdateHandle_t
pchDescriptionconst char *

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: bool

UpdatePublishedFileFile

bool UpdatePublishedFileFile( PublishedFileUpdateHandle_t updateHandle, const char *pchFile );
名称类型描述
updateHandlePublishedFileUpdateHandle_t
pchFileconst char *

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: bool

UpdatePublishedFilePreviewFile

bool UpdatePublishedFilePreviewFile( PublishedFileUpdateHandle_t updateHandle, const char *pchPreviewFile );
名称类型描述
updateHandlePublishedFileUpdateHandle_t
pchPreviewFileconst char *

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: bool

UpdatePublishedFileSetChangeDescription

bool UpdatePublishedFileSetChangeDescription( PublishedFileUpdateHandle_t updateHandle, const char *pchChangeDescription );
名称类型描述
updateHandlePublishedFileUpdateHandle_t
pchChangeDescriptionconst char *

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: bool

UpdatePublishedFileTags

bool UpdatePublishedFileTags( PublishedFileUpdateHandle_t updateHandle, SteamParamStringArray_t *pTags );
名称类型描述
updateHandlePublishedFileUpdateHandle_t
pTagsSteamParamStringArray_t *

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: bool

UpdatePublishedFileTitle

bool UpdatePublishedFileTitle( PublishedFileUpdateHandle_t updateHandle, const char *pchTitle );
名称类型描述
updateHandlePublishedFileUpdateHandle_t
pchTitleconst char *

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: bool

UpdatePublishedFileVisibility

bool UpdatePublishedFileVisibility( PublishedFileUpdateHandle_t updateHandle, ERemoteStoragePublishedFileVisibility eVisibility );
名称类型描述
updateHandlePublishedFileUpdateHandle_t
eVisibilityERemoteStoragePublishedFileVisibility

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: bool

UpdateUserPublishedItemVote

SteamAPICall_t UpdateUserPublishedItemVote( PublishedFileId_t unPublishedFileId, bool bVoteUp );
名称类型描述
unPublishedFileIdPublishedFileId_t
bVoteUpbool

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

返回: SteamAPICall_t,与 RemoteStorageUpdateUserPublishedItemVoteResult_t 调用结果一起使用。

回调

以下是可以通过调用 SteamAPI_RunCallbacks 触发的回调。 其中许多将响应 ISteamRemoteStorage 的成员函数直接触发。

RemoteStorageAppSyncedClient_t

已弃用 - 仅限 PS3。

名称类型描述
m_nAppIDAppId_t
m_eResultEResult
m_unNumDownloadsint

RemoteStorageAppSyncedServer_t

已弃用 - 仅限 PS3。

名称类型描述
m_nAppIDAppId_t
m_eResultEResult
m_unNumUploadsint

RemoteStorageAppSyncProgress_t

已弃用 - 仅限 PS3。

名称类型描述
m_rgchCurrentFilechar[k_cchFilenameMax当前正在传输的文件。
m_nAppIDAppId_t与此信息相关的应用。
m_uBytesTransferredThisChunkuint32此区块传输的字节数
m_dAppPercentCompletedouble此应用的传输完成的百分比。
m_bUploadingbool若为 false,则正在下载。

RemoteStorageAppSyncStatusCheck_t

已弃用 - 仅限 PS3。

名称类型描述
m_nAppIDAppId_t
m_eResultEResult

RemoteStorageDeletePublishedFileResult_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_eResultEResult操作结果。
m_nPublishedFileIdPublishedFileId_t

关联函数: DeletePublishedFile

RemoteStorageDownloadUGCResult_t


名称类型描述
m_eResultEResult操作结果。
m_hFileUGCHandle_t要尝试下载的文件的句柄。
m_nAppIDAppId_t创建此文件的应用的 ID。
m_nSizeInBytesint32下载的文件的字节大小。
m_pchFileNamechar[k_cchFilenameMax下载的文件的名称。
m_ulSteamIDOwneruint64创建此内容的用户的 Steam ID。

关联函数: UGCDownloadUGCDownloadToLocation

RemoteStorageEnumeratePublishedFilesByUserActionResult_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_eResultEResult操作结果。
m_eActionEWorkshopFileAction筛选的操作
m_nResultsReturnedint32
m_nTotalResultCountint32
m_rgPublishedFileIdPublishedFileId_tk_unEnumeratePublishedFilesMaxResults
m_rgRTimeUpdateduint32k_unEnumeratePublishedFilesMaxResults

关联函数: EnumeratePublishedFilesByUserAction

RemoteStorageEnumerateUserPublishedFilesResult_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_eResultEResult操作结果。
m_nResultsReturnedint32
m_nTotalResultCountint32
m_rgPublishedFileIdPublishedFileId_tk_unEnumeratePublishedFilesMaxResults

关联函数: EnumerateUserPublishedFilesEnumerateUserSharedWorkshopFiles

RemoteStorageEnumerateUserSharedWorkshopFilesResult_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_eResultEResult操作结果。
m_nResultsReturnedint32
m_nTotalResultCountint32
m_rgPublishedFileIdPublishedFileId_tk_unEnumeratePublishedFilesMaxResults

RemoteStorageEnumerateUserSubscribedFilesResult_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_eResultEResult操作结果。
m_nResultsReturnedint32
m_nTotalResultCountint32
m_rgPublishedFileIdPublishedFileId_tk_unEnumeratePublishedFilesMaxResults
m_rgRTimeSubscribeduint32k_unEnumeratePublishedFilesMaxResults

关联函数: EnumerateUserSubscribedFiles

RemoteStorageEnumerateWorkshopFilesResult_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_eResultEResult
m_nResultsReturnedint32
m_nTotalResultCountint32
m_rgPublishedFileIdPublishedFileId_tk_unEnumeratePublishedFilesMaxResults
m_rgScorefloat[k_unEnumeratePublishedFilesMaxResults
m_nAppIdAppId_t
m_unStartIndexuint32

关联函数: EnumeratePublishedWorkshopFiles

RemoteStorageFileReadAsyncComplete_t

使用 FileReadAsync 异步读取文件时响应。

名称类型描述
m_hFileReadAsyncSteamAPICall_t调用已进行的异步读取的句柄,必须传入 FileReadAsyncComplete 以获取数据。
m_eResultEResult操作结果。
如果本地读取成功,将为 k_EResultOK,然后您可以调用 FileReadAsyncComplete 以获取数据。
m_nOffsetuint32此次读取所在文件的偏移量。
m_cubReaduint32读取的字节量,将 <= 请求的量。

关联函数: FileReadAsync

RemoteStorageFileShareResult_t


名称类型描述
m_eResultEResult操作结果。
m_hFileUGCHandle_t能与用户及功能共享的句柄。
m_rgchFilenamechar[k_cchFilenameMax共享的文件的名称。

关联函数: FileShare

RemoteStorageFileWriteAsyncComplete_t

使用 FileWriteAsync 异步写入文件时的响应。

名称类型描述
m_eResultEResult操作结果。
如果本地写入成功,将为 k_EResultOK。任何其他值可能说明文件名无效或请求的写入会超过可用的配额。 任何超过此大小的写入文件将返回 k_EResultInvalidParam 的 EResult。 写入云的文件不能超过 100MiB。

关联函数: FileWriteAsync

RemoteStorageGetPublishedFileDetailsResult_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_eResultEResult操作结果。
m_nPublishedFileIdPublishedFileId_t
m_nCreatorAppIDAppId_t创建此文件的应用的 ID。
m_nConsumerAppIDAppId_t将使用此文件的应用的 ID。
m_rgchTitlechar[k_cchPublishedDocumentTitleMax文档的标题。
m_rgchDescriptionchar[k_cchPublishedDocumentDescriptionMax文档的描述。
m_hFileUGCHandle_t主文件的句柄。
m_hPreviewFileUGCHandle_t预览文件的句柄。
m_ulSteamIDOwneruint64创建此内容的用户的 Steam ID。
m_rtimeCreateduint32发布的文件的创建时间。
m_rtimeUpdateduint32发布的文件最后更新的时间。
m_eVisibilityERemoteStoragePublishedFileVisibility
m_bBannedbool
m_rgchTagschar[k_cchTagListMax与此文件关联的所有标签,用逗号分隔。
m_bTagsTruncatedbool标签列表是否因过长而不能返回到提供的缓冲区。
m_pchFileNamechar[k_cchFilenameMax主文件的名称。
m_nFileSizeint32主文件的大小。
m_nPreviewFileSizeint32预览文件的大小。
m_rgchURLchar[k_cchPublishedFileURLMax(视频或网站的)URL。
m_eFileTypeEWorkshopFileType文件的类型。
m_bAcceptedForUsebool开发者已经将此物品特别标记为被创意工坊所接受。

关联函数: GetPublishedFileDetails

RemoteStorageGetPublishedItemVoteDetailsResult_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_eResultEResult
m_unPublishedFileIdPublishedFileId_t
m_nVotesForint32
m_nVotesAgainstint32
m_nReportsint32
m_fScorefloat

关联函数: GetPublishedItemVoteDetailsGetUserPublishedItemVoteDetails

RemoteStorageLocalFileChange_t

如果 Steam 应用被标记为支持动态 Steam 云同步且已进行了同步,在本地文件被更改的情况下,此回调会被发布至该应用。

关联函数: GetLocalFileChangeCountGetLocalFileChange

RemoteStoragePublishedFileDeleted_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_nPublishedFileIdPublishedFileId_t发布的文件 id。
m_nAppIDAppId_t将使用此文件的应用的 ID。

RemoteStoragePublishedFileSubscribed_t


名称类型描述
m_nPublishedFileIdPublishedFileId_t发布的文件 id。
m_nAppIDAppId_t将使用此文件的应用的 ID。

RemoteStoragePublishedFileUnsubscribed_t


名称类型描述
m_nPublishedFileIdPublishedFileId_t发布的文件 id。
m_nAppIDAppId_t将使用此文件的应用的 ID。

RemoteStoragePublishedFileUpdated_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_nPublishedFileIdPublishedFileId_t发布的文件 id。
m_nAppIDAppId_t将使用此文件的应用的 ID。
m_ulUnuseduint64不再使用。

RemoteStoragePublishFileProgress_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_dPercentFiledouble
m_bPreviewbool

关联函数: PublishWorkshopFilePublishVideo

RemoteStoragePublishFileResult_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_eResultEResult操作结果。
m_nPublishedFileIdPublishedFileId_t
m_bUserNeedsToAcceptWorkshopLegalAgreementbool

RemoteStorageSetUserPublishedFileActionResult_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_eResultEResult操作结果。
m_nPublishedFileIdPublishedFileId_t发布的文件 id。
m_eActionEWorkshopFileAction试图进行的操作。

关联函数: SetUserPublishedFileAction

RemoteStorageSubscribePublishedFileResult_t

在玩家订阅了一个 UGC 时调用。 为 ISteamUGC::SubscribeItem 的结果。

名称类型描述
m_eResultEResult操作结果。
m_nPublishedFileIdPublishedFileId_t用户订阅的创意工坊物品。

关联函数: SubscribePublishedFile

RemoteStorageUnsubscribePublishedFileResult_t

在玩家取消订阅一个 UGC 时调用。 为 ISteamUGC::UnsubscribeItem 的结果。

名称类型描述
m_eResultEResult操作结果。
m_nPublishedFileIdPublishedFileId_t用户取消订阅的创意工坊物品。

关联函数: UnsubscribePublishedFile

RemoteStorageUpdatePublishedFileResult_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_eResultEResult操作结果。
m_nPublishedFileIdPublishedFileId_t
m_bUserNeedsToAcceptWorkshopLegalAgreementbool

关联函数: CommitPublishedFileUpdate

RemoteStorageUpdateUserPublishedItemVoteResult_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_eResultEResult操作结果。
m_nPublishedFileIdPublishedFileId_t发布的文件 id。

关联函数: CommitPublishedFileUpdate

RemoteStorageUserVoteDetails_t

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称类型描述
m_eResultEResult操作结果。
m_nPublishedFileIdPublishedFileId_t发布的文件 id。
m_eVoteEWorkshopVote玩家投票的内容。

结构

以下是 ISteamRemoteStorage 中的函数可能返回和/或与之交互的结构。

SteamParamStringArray_t


名称类型描述
m_ppStringsconst char **字符串数组。
m_nNumStringsint32[param]m_ppStrings[/param] 中的字符串数量。

枚举

以下是定义来与 ISteamRemoteStorage 一起使用的枚举。

ERemoteStorageLocalFileChange

Steam 在应用程序会话期间更改本地文件的方式。 参见 GetLocalFileChange

名称描述
k_ERemoteStorageLocalFileChange_Invalid0未使用。
k_ERemoteStorageLocalFileChange_FileUpdated1文件内容已改变。
k_ERemoteStorageLocalFileChange_FileDeleted2文件已被删除。

ERemoteStorageFilePathType

用于可能以不同形式返回文件路径的 API。 参见 GetLocalFileChange

名称描述
k_ERemoteStorageFilePathType_Invalid0未使用。
k_ERemoteStorageFilePathType_Absolute1提供了绝对磁盘路径。 此类路径用于通过 AutoCloud 管理的文件。
k_ERemoteStorageFilePathType_APIFilename2提供了 ISteamRemoteStorage API 相对路径。 这种类型的路径用于通过 ISteamRemoteStorage API 方法(FileWrite、FileRead 等)管理的文件。

ERemoteStoragePlatform

同步平台标记。 可以与 SetSyncPlatforms 一起使用,将文件限制在特定的操作系统。

名称描述
k_ERemoteStoragePlatformNone0此文件将不会在任何平台下载。
k_ERemoteStoragePlatformWindows(1 << 0)此文件将在 Windows 下载。
k_ERemoteStoragePlatformOSX(1 << 1)此文件将在 macOS 下载。
k_ERemoteStoragePlatformPS3(1 << 2)此文件将在 PlayStation 3 下载。
k_ERemoteStoragePlatformLinux(1 << 3)此文件将在 SteamOS/Linux 下载。
k_ERemoteStoragePlatformReserved2(1 << 4)保留。
k_ERemoteStoragePlatformAll0xffffffff此文件将在各平台下载。 默认为此值。

ERemoteStoragePublishedFileVisibility

创意工坊物品的可见状态种类。

名称描述
k_ERemoteStoragePublishedFileVisibilityPublic0所有人可见。
k_ERemoteStoragePublishedFileVisibilityFriendsOnly1仅好友可见。
k_ERemoteStoragePublishedFileVisibilityPrivate2仅物品作者可见。 若需将创意工坊物品从 API 中删除,将其设置为私有是最接近的做法。
k_ERemoteStoragePublishedFileVisibilityUnlisted3对所有人可见,但不会在任何全局查询中返回。
也不会在任何用户列表中返回,除非调用方是创建者或订阅者。

EUGCReadAction

UGCRead 一起使用的 UGC 读取操作种类。

名称描述
k_EUGCRead_ContinueReadingUntilFinished0一直保持文件句柄打开,直至最后一个字节已读取。 在按顺序读取大文件(100MB 以上)区块时,您可以使用此操作。
如果最后一个字节已读取,此操作将与 k_EUGCRead_Close 相同。 否则,将与 k_EUGCRead_ContinueReading 相同。
此值保持 EUGCReadAction 参数引入之前的相同行为。
k_EUGCRead_ContinueReading1一直保持文件句柄打开。 在使用 UGCRead 搜寻文件的不同部分时使用。
搜寻完成后,使用 k_EUGCRead_Close 进行最后调用,以将其关闭。
k_EUGCRead_Close2释放文件句柄。 读取内容完成后使用。
若想再从 Steam 读取该文件,您需要再次调用 UGCDownload。

EWorkshopEnumerationType

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称描述
k_EWorkshopEnumerationTypeRankedByVote0
k_EWorkshopEnumerationTypeRecent1
k_EWorkshopEnumerationTypeTrending2
k_EWorkshopEnumerationTypeFavoritesOfFriends3
k_EWorkshopEnumerationTypeVotedByFriends4
k_EWorkshopEnumerationTypeContentByFriends5
k_EWorkshopEnumerationTypeRecentFromFollowedUsers6

EWorkshopFileAction

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称描述
k_EWorkshopFileActionPlayed0用户已玩过此物品,或已在物品上玩过。 (如装备武器或关卡。)
k_EWorkshopFileActionCompleted1用户已使用完此物品。 (如到达线性地图的终点。)

EWorkshopFileType

共享文件将与社区共享的方式。

名称描述
k_EWorkshopFileTypeFirst0只用于枚举。
k_EWorkshopFileTypeCommunity0可订阅的创意工坊常规物品。
k_EWorkshopFileTypeMicrotransaction1需要投票选择后在游戏内销售的创意工坊物品。 (参见:鉴选型创意工坊
k_EWorkshopFileTypeCollection2一套创意工坊物品。
k_EWorkshopFileTypeArt3艺术作品。
k_EWorkshopFileTypeVideo4外部视频。
k_EWorkshopFileTypeScreenshot5截图。
k_EWorkshopFileTypeGame6未使用。过去用于参与青睐之光的游戏。
k_EWorkshopFileTypeSoftware7未使用。过去用于参与青睐之光的软件。
k_EWorkshopFileTypeConcept8未使用。曾用于青睐之光相关概念。
k_EWorkshopFileTypeWebGuide9Steam 网页指南。
k_EWorkshopFileTypeIntegratedGuide10应用程序集成指南。
k_EWorkshopFileTypeMerch11需要投票选择后销售的创意工坊商品。
k_EWorkshopFileTypeControllerBinding12Steam 控制器绑定。
k_EWorkshopFileTypeSteamworksAccessInvite13只在 Steam 内部使用。
k_EWorkshopFileTypeSteamVideo14Steam 视频。
k_EWorkshopFileTypeGameManagedItem15完全由游戏管理,不由用户管理,且不显示在网页上。
k_EWorkshopFileTypeMax16只用于枚举。

EWorkshopVideoProvider

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称描述
k_EWorkshopVideoProviderNone0物品无视频。
k_EWorkshopVideoProviderYoutube1物品有 Youtube 视频。

EWorkshopVote

已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。

名称描述
k_EWorkshopVoteUnvoted0用户尚未投票。
k_EWorkshopVoteFor1用户已投票支持此物品。
k_EWorkshopVoteAgainst2用户已投票不支持此物品。
k_EWorkshopVoteLater3用户已选择以后再投票。

Typedef

以下是定义来与 ISteamRemoteStorage 一起使用的 typedef。

名称基础类型描述
PublishedFileId_tuint64创意工坊单个物品的独一无二的句柄。
PublishedFileUpdateHandle_tuint64已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。
UGCFileWriteStreamHandle_tuint64异步写入 Steam 云时使用的句柄。
UGCHandle_tuint64用户生成内容的独一无二的句柄。

常量

以下是定义来与 ISteamRemoteStorage 一起使用的常量。

名称类型描述
k_cchFilenameMaxuint32260Steam 云文件路径可以使用的最大长度。
k_cchPublishedDocumentChangeDescriptionMaxuint328000未使用。
k_cchPublishedDocumentDescriptionMaxuint328000创意工坊物品描述可以使用的最大字节数。
k_cchPublishedDocumentTitleMaxuint32128 + 1创意工坊物品标题可以使用的最大字节数。
k_cchPublishedFileURLMaxuint32256一个创意工坊物品 URL 可以使用的最大字节数。
k_cchTagListMaxuint321024 + 1用逗号分隔的创意工坊物品标签列表可以使用的最大字节数。
k_PublishedFileIdInvalidPublishedFileId_t0无效的创意工坊物品句柄。
k_PublishedFileUpdateHandleInvalidPublishedFileUpdateHandle_t0xffffffffffffffffull已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。
k_UGCFileStreamHandleInvalidUGCFileWriteStreamHandle_t0xffffffffffffffffull使用 FileWriteStreamOpen 出错时返回。
k_UGCHandleInvalidUGCHandle_t0xffffffffffffffffull无效的 UGC 句柄。 这通常由表明出错的函数返回。
k_unEnumeratePublishedFilesMaxResultsuint3250已弃用 - 只与已弃用的基于 RemoteStorage 的创意工坊 API 一起使用。
k_unMaxCloudFileChunkSizeuint32100 * 1024 * 1024定义 Steam 云允许的最大文件大小。
云文件不能以单个大小超过 100 MiB 的区块写入,且总大小不能超过 200 MiB。
STEAMREMOTESTORAGE_INTERFACE_VERSIONconst char *"STEAMREMOTESTORAGE_INTERFACE_VERSION014"