Надає докладну інформацію про застосунки та
завантажуваний вміст.
Функції-члени
Функції-члени для
ISteamApps
викликаються за допомогою глобальної функції доступу
SteamApps()
.
BGetDLCDataByIndex
bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize );
Назва | Тип | Опис |
iDLC | int | Індекс завантажуваного вмісту має бути між 0 і ISteamApps::GetDLCCount. |
pAppID | AppId_t * | Повертає AppID елемента завантажуваного вмісту. |
pbAvailable | bool * | Повертає інформацію про доступність завантажуваного вмісту в крамниці Steam. Якщо завантажуваний вміст не має видимої сторінки в крамниці, то false. |
pchName | char * | Повертає назву завантажуваного вмісту, котра копіюється в буфер. |
cchNameBufferSize | int | Довжина буфера pchName . |
Повертає метадані завантажуваного вмісту за індексом.
Повернені значення: bool
true якщо поточний застосунок має пов’язаний із ним завантажуваний вміст, і
iDLC
потрапляє за значенням у діапазон між 0 і
ISteamApps::GetDLCCount, інакше
false.
Приклад:int32 DLCCount = SteamApps()->GetDLCCount();
for ( int i = 0; i < DLCCount; ++i ) {
AppId_t appId;
bool available;
char name[128];
bool success = SteamApps()->BGetDLCDataByIndex( i, &appId, &available, name, 128 );
if ( success ) {
// Робимо щось із даними завантажуваного вмісту
}
}
BIsAppInstalled
bool BIsAppInstalled( AppId_t appID );
Назва | Тип | Опис |
AppID | AppId_t | AppID застосунку, який перевіряється. |
Перевіряє, чи інстальовано вказаний застосунок.
Поточний користувач може не володіти застосунком, якщо, приміром, він лишився від безкоштовних вихідних тощо.
Працює лише для базових застосунків, не для
завантажуваного вмісту. Використовуйте
ISteamApps::BIsDlcInstalled для завантажуваного вмісту.
Повернені значення: bool
true якщо вказаний застосунок інстальовано, інакше
false.
BIsCybercafe
bool BIsCybercafe();
Перевіряє, чи призначений поточний AppID для Інтернет-кафе.
Повернені значення: bool
true якщо ліцензія призначена для Інтернет-кафе, інакше
false.
Застаріло: більше не використовується.
BIsDlcInstalled
bool BIsDlcInstalled( AppId_t appID );
Назва | Тип | Опис |
AppID | AppId_t | AppID завантажуваного вмісту, який перевіряється. |
Перевіряє, чи користувач володіє вказаним завантажуваним вмістом, і чи він інстальований.
Повернені значення: bool
true якщо користувач володіє завантажуваним вмістом і той інстальований, інакше
false.
Примітка: має використовуватися лише для простих перевірок на боці клієнта; не призначений для надання внутрішньоігрових предметів.
BIsLowViolence
bool BIsLowViolence();
Перевіряє, чи надає ліцензія користувача сховища з низьким рівнем насильства.
Сховища з низьким рівнем насильства використовуються для продажу в країнах із відповідними обмеженнями.
Повернені значення: bool
true якщо ліцензія у власності користувача надає доступ до сховищ із низьким рівнем насильства, інакше
false.
Див. також: Правила встановлення сховищBIsSubscribed
bool BIsSubscribed();
Перевіряє, чи підписаний активний користувач на поточний AppID.
ПРИМІТКА: під час використання DRM Steam чи
SteamAPI_RestartAppIfNecessary цей виклик завжди повертатиме
true.
Повернені значення: bool
true якщо активний користувач володіє поточним AppID, інакше
false.
BIsSubscribedApp
bool BIsSubscribedApp( AppId_t appID );
Назва | Тип | Опис |
AppID | AppId_t | AppID, що перевіряється. |
Перевіряє, чи підписаний активний користувач на вказаний AppID.
Використовуйте лише в тому випадку, якщо необхідно перевірити володіння грою, пов’язаною з вашою, як-от демоверсією.
Повернені значення: bool
true якщо активний користувач підписаний на вказаний AppID, інакше
false.
BIsSubscribedFromFamilySharing
bool BIsSubscribedFromFamilySharing();
Перевіряє, чи використовує активний користувач тимчасову ліцензію сімейної бібліотеки, що належить іншому користувачу, для отримання доступу до поточного AppID.
Щоби визначити SteamID власника ліцензії, скористайтеся функцією
GetAppOwner.
Повернені значення: bool
true якщо активний користувач використовує застосунок через сімейну бібліотеку, інакше
false.
BIsSubscribedFromFreeWeekend
bool BIsSubscribedFromFreeWeekend();
Перевіряє, чи користувач підписався на поточний AppID на безкоштовних вихідних.
Перед використанням зверніться до технічного менеджера акаунтів Valve через
обговорення Steamworks, щоби правильно запакувати й захистити свої безкоштовні вихідні.
Повернені значення: bool
true якщо активний користувач підписався на поточний AppID на безкоштовних вихідних; інакше
false у разі будь-якої іншої ліцензії.
BIsTimedTrial
bool BIsTimedTrial(uint32* punSecondsAllowed, uint32* punSecondsPlayed);
Назва | Тип | Опис |
punSecondsAllowed | uint32 * | Повертає час дії обмеженого пробного доступу (у секундах). |
punSecondsPlayed | uint32 * | Повертає зіграний користувачем час (у секундах). |
Перевіряє, чи користувач підписався на поточний AppID під час обмеженого пробного доступу. Якщо так, то повертає true й передає назад загальний дозволений пробним доступом час гри, а також кількість часу, що користувач уже зіграв.
Повернені значення: bool
true якщо активний користувач підписався на поточний AppID через обмежений у часі доступ; інакше
false у разі будь-якого іншого типу ліцензії.
Див. також: ISteamApps::TimedTrialStatus_tBIsVACBanned
bool BIsVACBanned();
Перевіряє, чи користувач не має блокування VAC на своєму акаунті
Повернені значення: bool
true у разі наявності блокування VAC на акаунті користувача; інакше
false.
GetAppBuildId
int GetAppBuildId();
Отримує ідентифікатор збірки цього застосунку, може змінюватися в будь-який момент відповідно до серверних оновлень гри.
Повернені значення: int
Поточний ідентифікатор збірки для цього застосунку. 0 означає, що запущена збірка не була завантажена зі Steam.
GetAppInstallDir
uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize );
Назва | Тип | Опис |
appID | AppId_t | AppID для отримання теки інсталяції. |
pchFolder | char * | Текстовий буфер, куди буде скопійований шлях до теки. |
cchFolderBufferSize | uint32 | Розмір буфера pchText у байтах. |
Отримує теку інсталяції для вказаного AppID.
Працює, навіть якщо застосунок не інстальований: показує стандартну теку інсталяції бібліотеки Steam.
Повернені значення: uint32Повертає шлях до теки інсталяції як рядок до буфера, що надається pchFolder, а також повертає кількість байтів, які було скопійовано до цього буфера.
GetAppOwner
CSteamID GetAppOwner();
Отримує SteamID справжнього власника поточного застосунку. Відрізняється від поточного користувача, якщо гру отримано через сімейну бібліотеку.
Повернені значення: CSteamIDОригінальний власник поточного застосунку.
GetAvailableGameLanguages
const char * GetAvailableGameLanguages();
Отримує розділений комою список мов, які підтримує поточний застосунок.
Повний перелік мов, які можуть повертатися, дивіться в розділі про
локалізацію.
Повернені значення: const char *
Повертає розділений комою список мов.
Див. також: ISteamApps::GetCurrentGameLanguage,
ISteamUtils::GetSteamUILanguageGetCurrentBetaName
bool GetCurrentBetaName( char *pchName, int cchNameBufferSize );
Назва | Тип | Опис |
pchName | char * | Буфер, куди копіюється назва бети. |
cchNameBufferSize | int | Загальний розмір буфера pchName. |
Перевіряє, чи користувач запустив застосунок із бета-гілки. Якщо так, то повертає назву гілки.
Повернені значення: bool
true у разі запуску з бета-гілки; інакше
false.
GetNumBetas
int GetNumBetas( int *pnAvailable, int *pnPrivate );
Назва | Тип | Опис |
pnAvailable | int* | Кількість бета-гілок, доступних поточному користувачеві. |
pnPrivate | int* | Скільки з них приватних. |
Повертає загальну кількість відомих гілок застосунку (включно зі стандартною «публічною» гілкою), дані про які можна отримати за допомогою функції GetBetaInfo().
Повернені значення: int
Кількість відомих гілок застосунку.
GetBetaInfo
bool GetBetaInfo( int iBetaIndex, uint32 *punFlags, uint32 *punBuildID, char *pchBetaName, int cchBetaName, char *pchDescription, int cchDescription );
Назва | Тип | Опис |
iBetaIndex | int | Індекс гілки, який починається з 0, що завжди є стандартною гілкою. |
punFlags | uint32 * | Набір прапорів (EBetaBranchFlags), які описують поточний стан гілки. |
punBuildID | uint32 * | BuildID вмісту, зробленого загальнодоступним на цій гілці. |
pchBetaName | char * | Назва бета-гілки. |
cchBetaName | int | Розмір pchBetaName, який надав викликач. |
pchDescription | char * | Опис бета-гілки. |
cchDescription | int | Розмір pchDescription, який надав викликач. |
Отримує інформацію про бета-гілку застосунку, як-от назву, опис і стан.
Повернені значення: bool
Повертає true, якщо індекс гілки дійсний; інакше false.
Приклад:int32 betaCount = SteamApps()->GetNumBetas( nullptr, nullptr );
for ( int betaIndex = 0; betaIndex < betaCount; ++betaIndex )
{
char name[128];
char description[1024];
uint32 flags = 0; // EBetaBranchFlags
uint32 buildID = 0;
SteamApps()->GetBetaInfo( betaIndex, &flags, &buildID, name, sizeof( name ), description, sizeof( description ) );
}
SetActiveBeta
bool SetActiveBeta( const char *pchBetaName );
Назва | Тип | Опис |
pchBetaName | const char * | Назва бета-гілки, на яку гра хоче перемкнутися. |
Вибирає активну бета-гілку для цього застосунку. Можливо, потрібен перезапуск гри, щоб Steam міг оновити цю гілку.
Повернені значення: bool
GetCurrentGameLanguage
const char * GetCurrentGameLanguage();
Отримує поточну встановлену користувачем мову.
Перемикає на мову інтерфейсу Steam, якщо користувач не вибрав мову для цього продукту безпосередньо.
Повний список мов можна переглянути
тут.
Повернені значення: const char *
Див. також: ISteamApps::GetAvailableGameLanguages,
ISteamUtils::GetSteamUILanguageGetDLCCount
int GetDLCCount();
Отримує кількість елементів завантажуваного вмісту для поточного застосунку.
Типово використовується для проходження всім списком елементів завантажуваного вмісту й отримання інформації про кожен із них за допомогою
ISteamApps::BGetDLCDataByIndex.
Повернені значення: int
Кількість елементів завантажуваного вмісту для поточного застосунку. Майте на увазі, що максимально допустимим значенням є 64, (залежить від того, скільки завантажуваного вмісту є користувача, яким він не володіє). Якщо ваш застосунок має велику кількість завантажуваного вмісту, вам слід скласти власний внутрішній перелік такого вмісту для перевірки.
Приклад:int32 DLCCount = SteamApps()->GetDLCCount();
for ( int i = 0; i < DLCCount; ++i ) {
AppId_t appId;
bool available;
char name[128];
bool success = SteamApps()->BGetDLCDataByIndex( i, &appId, &available, name, 128 );
if ( success ) {
// Робимо щось із даними завантажуваного вмісту
}
}
GetDlcDownloadProgress
bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal );
Назва | Тип | Опис |
nAppID | AppId_t | AppID завантажуваного вмісту, який перевіряється. |
punBytesDownloaded | uint64 * | Повертає кількість завантажених байтів. |
punBytesTotal | uint64 * | Повертає загальний розмір завантаження в байтах. |
Отримує перебіг завантаження необов’язкового завантажуваного вмісту.
Повернені значення: bool
true якщо вказаний завантажуваний вміст наявний і наразі завантажується; інакше
false.
GetEarliestPurchaseUnixTime
uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID );
Назва | Тип | Опис |
nAppID | AppId_t | AppID для отримання часу придбання. |
Отримує час придбання вказаного застосунку в форматі UNIX-часу (час після 1 січня 1970 року).
Корисно для нагород користувачам на основі дати їхнього початкового придбання.
Повернені значення: uint32Найраніший час придбання у форматі Unix-часу (секунди після 1 січня 1970 року).
GetFileDetails
SteamAPICall_t GetFileDetails( const char*pszFileName );
Назва | Тип | Опис |
pszFileName | const char* | Абсолютний шлях до файлу і його назва. |
Асинхронно отримує подробиці метаданих про вказаний файл у маніфесті сховища.
Наразі надає:
Розмір файлу в байтах.
Хеш SHA1 файлу.
Прапорці файлу.
Повернені значення: SteamAPICall_t для використання з результатом виклику
FileDetailsResult_t.
GetInstalledDepots
uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots );
Назва | Тип | Опис |
appID | AppId_t | Застосунок, для якого передається список сховищ. |
pvecDepots | DepotId_t * | Раніше виділений масив, який заповнюється списком сховищ. |
cMaxDepots | uint32 | Максимальна кількість сховищ, що можна отримати; типово розмір дорівнює pvecDepots. |
Отримує список усіх інстальованих сховищ для вказаного AppID у порядку встановлення.
Повернені значення: uint32Кількість повернених сховищ.
GetLaunchCommandLine
int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
Назва | Тип | Опис |
pszCommandLine | char * | Текстовий буфер, куди буде скопійований командний рядок. |
cubCommandLine | int | Розмір буфера pszCommandLine у байтах. |
Отримує командний рядок, якщо гра була запущена через посилання Steam, як-от steam://run/<appid>//<command line>/. Цей метод слід обирати замість запуску через командний рядок операційної системи, що може становити безпековий ризик. Щоб розширена присутність також включилася й не потрібно було запускати її через командний рядок ОС, слід увімкнути опцію «Використовувати запуск через командний рядок» на вкладці «Інсталяція» в розділі «Загальне» вашого застосунку.
Повернені значення: int
Повертає командний рядок як текст до буфера, що надається pszCommandLine, а також повертає кількість байтів, які було скопійовано до цього буфера.
Див. також: ISteamApps::NewUrlLaunchParameters_tGetLaunchQueryParam
const char * GetLaunchQueryParam( const char *pchKey );
Назва | Тип | Опис |
pchKey | const char * | Ключ запуску для тестування. Приклад: param1 |
Отримує пов’язані параметри запуску, якщо гра була запущена через steam://run/<appid>/?param1=value1;param2=value2;param3=value3 тощо.
Назви параметрів, що починаються з символу «@», зарезервовані для внутрішнього використання й завжди повертатимуть порожній рядок.
Назви параметрів, що починається з нижнього підкреслення «_», зарезервовані для функцій Steam. Їх може використовувати гра, але рекомендуємо не починати назви параметрів із нижнього підкреслення для ваших власних функцій.
Повернені значення: const char *
Значення, що пов’язане з наданим ключем. Повертає порожній рядок (""), якщо вказаний ключ не існує.
Див. також: ISteamApps::NewLaunchQueryParameters_tInstallDLC
void InstallDLC( AppId_t nAppID );
Назва | Тип | Опис |
nAppID | AppId_t | Завантажуваний вміст, який ви хочете інсталювати. |
Дозволяє вам інсталювати необов’язковий завантажуваний вміст.
Повернені значення: void
Спричиняє зворотний виклик
DlcInstalled_t.
MarkContentCorrupt
bool MarkContentCorrupt( bool bMissingFilesOnly );
Назва | Тип | Опис |
bMissingFilesOnly | bool | Просто сканує для перевірки пропущених файлів. Не перевіряє контрольну суму кожного файлу. |
Дозволяє вам запустити обов’язкову перевірку ігрового вмісту під час наступного запуску.
Якщо ви виявляєте, що гра застаріла (наприклад, якщо клієнт виявляє розбіжність версій із сервером),
то ви можете викликати MarkContentCorrupt для примусової перевірки, показати повідомлення користувачу й вийти.
Повернені значення: bool
RequestAllProofOfPurchaseKeys
void RequestAllProofOfPurchaseKeys();
Застаріло.
RequestAppProofOfPurchaseKey
void RequestAppProofOfPurchaseKey( AppId_t nAppID );
Застаріло.
UninstallDLC
void UninstallDLC( AppId_t nAppID );
Назва | Тип | Опис |
nAppID | AppId_t | Завантажуваний вміст, який ви хочете видалити. |
Дозволяє вам видалити необов’язковий завантажуваний вміст.
Зворотні виклики
Це зворотні виклики, які здійснюються викликом
SteamAPI_RunCallbacks. Багато з них виконуються безпосередньо у відповідь на функції
ISteamApps
.
AppProofOfPurchaseKeyResponse_t
Використовується лише внутрішньо в Steam.
DlcInstalled_t
Спрацьовує, коли поточний користувач отримує у власність завантажуваний вміст і цей вміст інсталюється.
Назва | Тип | Опис |
m_nAppID | AppId_t | AppID інстальованого завантажуваного вмісту. |
Пов’язані функції: ISteamApps::InstallDLCFileDetailsResult_t
Викликається після запиту подробиць вказаного файлу.
Назва | Тип | Опис |
m_eResult | EResult | Чи був виклик успішним? k_EResultOK, якщо так; інакше k_EResultFileNotFound, якщо файл не знайдено. Жодні інші поля не заповнюються, якщо виклик не був успішним. |
m_ulFileSize | uint64 | Оригінальний розмір файлу в байтах. |
m_FileSHA | uint8[20] | Оригінальний хеш SHA1 файлу. |
m_unFlags | uint32 | |
Пов’язані функції: ISteamApps::GetFileDetailsNewUrlLaunchParameters_t
Надсилається, коли користувач виконує посилання Steam із командним рядком або параметрами запиту, як-от
steam://run/<appid>//?param1=value1;param2=value2;param3=value3;
, коли гра вже запущена. Ці нові параметри можна запитати за допомогою
ISteamApps::GetLaunchCommandLine і
ISteamApps::GetLaunchQueryParam.
Цей зворотний виклик не має полів.
NewLaunchQueryParameters_t
Надсилається, коли користувач виконує посилання Steam із параметрами запиту, як-от
steam://run/<appid>//?param1=value1;param2=value2;param3=value3;
, коли гра вже запущена. Нові параметри можна запитати за допомогою
ISteamApps::GetLaunchQueryParam.
Цей зворотний виклик не має полів.
RegisterActivationCodeResponse_t
Використовується лише внутрішньо в Steam.
TimedTrialStatus_t
Надсилається щохвилини, коли AppID знаходиться у власності через обмежений у часі пробний доступ.
Назва | Тип | Опис |
m_unAppID | AppId_t | AppID, що має обмежений у часі пробний доступ. |
m_bIsOffline | bool | Якщо true, то користувач наразі не в мережі. Дозволений / зіграний час стосується часу не в мережі, а не загального часу. |
m_unSecondsAllowed | uint32 | Скільки секунд загалом можна користуватися застосунком. |
m_unSecondsPlayed | uint32 | Скільки секунд ви вже користувалися застосунком. |
Див. також: ISteamApps::BIsTimedTrialПерерахування
Нижче наведено список перерахувань, які визначені для використання з ISteamApps.
ERegisterActivationCodeResult
Використовується лише внутрішньо в Steam.
Назва | Значення | Опис |
k_ERegisterActivationCodeResultOK | 0 | |
k_ERegisterActivationCodeResultFail | 1 | |
k_ERegisterActivationCodeResultAlreadyRegistered | 2 | |
k_ERegisterActivationCodeResultTimeout | 3 | |
k_ERegisterActivationCodeAlreadyOwned | 4 | |
Константи
Це константи, які визначені для використання з ISteamApps.
Назва | Тип | Значення | Опис |
k_cubAppProofOfPurchaseKeyMax | int | 240 | Використовується лише внутрішньо в Steam. |
STEAMAPPS_INTERFACE_VERSION | const char * | "STEAMAPPS_INTERFACE_VERSION008" | |