Steamworks ドキュメンテーション
ISteamApps インターフェイス
アプリケーションと ダウンロードコンテンツ (DLC)のアクションに関する広範囲の情報を紹介します。

メンバー関数

ISteamAppsのメンバー関数は、グローバルのアクセサ関数SteamApps()経由で呼び出されます。

BGetDLCDataByIndex

bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize );
名前説明
iDLCint0 とGetDLCCountの間を取得するDLCのインデックス。
pAppIDAppId_t *DLCのAppIDを返します。
pbAvailablebool *DLCが現在利用かどうかを返します。
pchNamechar *このバッファにコピーして、DLCの名前を返します。
cchNameBufferSizeintpchNameバッファの長さ。

インデックスで、DLCのメタデータを返します。

戻り値: bool
true if the current App ID has DLC's associated with it and iDLC falls between the range of 0 to GetDLCCount, otherwise 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 ) { // DLCデータを使用します } }

BIsAppInstalled

bool BIsAppInstalled( AppId_t appID );
名前説明
appIDAppId_tチェックするアプリケーションのAppID。

指定のアプリがインストールされているかを確認します。

無料ウィークエンドなどを利用したことで、ユーザーが現時点でアプリを所有していない場合があります。

ダウンロードコンテンツ (DLC)ではなく、これはベースアプリケーションでのみ機能します。 DLCには、代わりにBIsDlcInstalledを使用します。

戻り値: bool
true となるのは指定のAppIDがインストールされている場合のみ。それ以外はfalseです。

BIsCybercafe

bool BIsCybercafe();
現在のAppIDがネットカフェ用かをチェックします。

戻り値: bool
true となるのはライセンスがネットカフェ用の場合のみ。それ以外の場合はfalseです。
非推奨 - 使用しないでください。

BIsDlcInstalled

bool BIsDlcInstalled( AppId_t appID );
名前説明
appIDAppId_tチェックするDLCのAppID。

ユーザーが指定のDLCを所有し、DLCがインストール済みかをチェックします。

戻り値: bool
true となるのはユーザーが指定のDLCを所有しインストール済みの場合。それ以外はfalse

注意: シンプルなクライアントサイドでのチェックにのみ使われるべきです - ゲーム内アイテムの付与への使用は想定されていません。

BIsLowViolence

bool BIsLowViolence();
ユーザーが所有するライセンスが低暴力デポを提供するかをチェックします。

低暴力デポはコンテンツ規制の存在する地域で販売されるコピーへの使用に便利です。

戻り値: bool
true となるのはユーザーが所有するライセンスが低暴力デポを提供する場合のみ。それ以外は、false

こちらも参照してください: デポマウントルール

BIsSubscribed

bool BIsSubscribed();
アクティブなユーザーが現在のAppIDをサブスクライブしているかをチェックします。

注意: ゲームでSteam DRMを利用しているか、 SteamAPI_RestartAppIfNecessaryを呼び出す場合にはいつでもtrueを返します。

戻り値: bool
true となるのはアクティブなユーザーが現在のAppIDを所有している場合のみ。それ以外はfalseです。

BIsSubscribedApp

bool BIsSubscribedApp( AppId_t appID );
名前説明
appIDAppId_tチェックするAppID。

アクティブなユーザーが指定のAppIDをサブスクライブしているかをチェックします。

例えば体験版など、あなたのゲームに関連する別のゲームの所有についてチェックが必要な場合に限って使用してください。

戻り値: bool
true となるのはアクティブなユーザーが指定のAppIPDをサブスクライブしている場合のみ。それ以外はfalseです。

BIsSubscribedFromFamilySharing

bool BIsSubscribedFromFamilySharing ();

アクティブなユーザーの現在のAppIDへのアクセス方法が、別ユーザーの所有するゲームを一時的に借りるファミリーシェアリングかをチェックします。

このライセンスの永久的な所有者のsteamIDを知る必要がある場合には、GetAppOwnerを使用します。

戻り値: bool
true となるのはアクティブなユーザーが現在のAppIDにファミリーシェアリングでアクセスしている場合のみ。それ以外はfalseです。

BIsSubscribedFromFreeWeekend

bool BIsSubscribedFromFreeWeekend();
ユーザーが現在のAppIDを無料ウィークエンドを通してサブスクライブしているかをチェックします。

これを使用する前に、ValveのテクニカルアカウントマネージャーにSteamworks掲示板経由で適切なパッケージを連絡し、無料ウィークエンドを確定してください。

戻り値: bool
true となるのはアクティブなユーザーが現在のAppIDを無料ウィークエンド経由でサブスクライブしている場合のみ。それ以外はfalseです。

BIsVACBanned

bool BIsVACBanned();
ユーザーのアカウント上にVAC禁止があるかをチェックします。

戻り値: bool
true となるのはユーザーのアカウントにVAC禁止がある場合のみ。それ以外はfalseです。

GetAppBuildId

int GetAppBuildId();
このアプリのビルドIDを取得します。ゲームへのバックエンドの更新に基いて随時変更する可能性があります。

戻り値: int
このアプリの現在のビルドID。Steamからダウンロードしたビルドを実行していなければ、デフォルトは0です。

GetAppInstallDir

uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize );
名前説明
appIDAppId_tインストール先のディレクトリを取得するAppID。
pchFolderchar *フォルダパスがコピーされる文字列バッファ。
cchFolderBufferSizeuint32pchFolderバッファのバイト単位でのサイズ。

指定のAppIDのインストールフォルダを取得します。

アプリケーションがインストールされていなくても機能します。ゲームがデフォルトのSteamライブラリロケーションにインストールされるかに基いています。

戻り値: uint32
pchFolderで提供されたバッファに文字列としてインストールディレクトリのパスと、そのバッファにコピーされたバイトの数値を返します。

GetAppOwner

CSteamID GetAppOwner();
現在のアプリのオリジナルの所有者のSteamIDを取得します。現在のユーザーと異なる場合には、借りていることを意味します。

戻り値: CSteamID
現在のアプリのオリジナルの所有者。

GetAvailableGameLanguages

const char * GetAvailableGameLanguages();
現在アプリがサポートしている言語をカンマで区切ったリストとして取得します。

返される可能性のある言語の完全なリストの取得は ローカリゼーションと言語 を参照してください。

戻り値: const char *
カンマで区切った言語のリストを返します。

こちらも参照してください: GetCurrentGameLanguage, ISteamUtils::GetSteamUILanguage

GetCurrentBetaName

bool GetCurrentBetaName( char *pchName, int cchNameBufferSize );
名前説明
pchNamechar *ベータ名がコピーされるバッファ。
cchNameBufferSizeintpchNameバッファの合計サイズ。

ユーザーがベータブランチから実行しているかをチェックし、当てはまる場合にはブランチ名を取得します。

戻り値: bool
true となるのはユーザーがベータブランチを実行している場合のみ。それ以外は、falseです。

GetCurrentGameLanguage

const char * GetCurrentGameLanguage();
ユーザーが設定中の現在の言語を取得します。

ユーザーがタイトル向けに言語をしていない場合には、これはSteamUI言語にフォールバックします。

言語の完全なリストは サポート言語を参照してください。

戻り値: const char *


こちらも参照してください: GetAvailableGameLanguages, ISteamUtils::GetSteamUILanguage

GetDLCCount

int GetDLCCount();
現在のアプリのDLCの数を取得します。

通常、各DLCをループするのに使用し、各情報はそれぞれBGetDLCDataByIndexで取得します。

戻り値: int
現在のアプリのDLCの数。この値はユーザーが所有していないDLCの数に基づき、最大が64に設定されている場合があります。 アプリに沢山のアプリがある場合、内部で使用するDLCのチェックリストを用意して設定するべきです。

例:
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 ) { // DLCデータを使用します } }

GetDlcDownloadProgress

bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal );
名前説明
nAppIDAppId_tモニターするDLCのAppID。
punBytesDownloadeduint64 *ダウンロード済みのバイト数を返します。
punBytesTotaluint64 *合計ダウンロードサイズ(バイト)を返します。

任意のDLCのダウンロード進行状況を取得します。

戻り値: bool
true となるのは指定したDLCが存在し現在ダウンロード中の場合のみ。それ以外はfalse

GetEarliestPurchaseUnixTime

uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID );
名前説明
nAppIDAppId_t購入時間を取得するAppID。

指定のアプリの購入時間をUnixエポック形式で取得します(1970年1月1日以降)

初回購入日に基いてユーザーにリワードを提供する場合に便利です。

戻り値: uint32
最も古い購入時間をUnixエポック形式の秒単位で提供。(1970年1月1日以降)

GetFileDetails

SteamAPICall_t GetFileDetails( const char*pszFileName );
名前説明
pszFileNameconst char*ファイルへの絶対パスと名前。

デポマニフェスト内の指定ファイルについてメタデータの詳細を非同期に取得します。

現在提供:
バイト単位のファイルサイズ
ファイルのSHA1ハッシュ。
ファイルのフラグ

戻り値: SteamAPICall_tFileDetailsResult_tの呼び出し結果と使われます。

GetInstalledDepots

uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots );
名前説明
appIDAppId_tデポを列挙するアプリ。
pvecDepotsDepotId_t *デポのリストを入力するために事前に割り当てられた配列。
cMaxDepotsuint32取得するデポの最大数、通常はpvecDepotsのサイズです。

指定のAppID用にインストールされたデポのマウント順リストを取得します。

戻り値: uint32
返されたデポの数。

GetLaunchCommandLine

int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
名前説明
pszCommandLinechar *コマンドラインがコピーされる文字列バッファ。
cubCommandLine intpszCommandLineバッファのバイト単位でのサイズ。

ゲームがSteamURL経由で起動された場合にコマンドラインを取得します。例 steam://run/<appid>//<command line>/ オペレーティングシステム経由でコマンドラインを使ってローンチすることはセキュリティの問題となり得るため、それよりも好ましいメソッドです。 リッチプレゼンスがこれを通して参入し、OSのコマンドラインに置かれないために、アプリのインストールタブ> 詳細オプション> [起動コマンドラインの使用]を有効化してください。

戻り値: int
pszCommandLineに提供されたバッファに文字列としてコマンドラインを返し、そのバッファにコピーされたバイトの数値を返します。

こちらも参照してください: NewUrlLaunchParameters_t

GetLaunchQueryParam

const char * GetLaunchQueryParam( const char *pchKey );
名前説明
pchKeyconst char *テストするローンチキー。 例: param1

ゲームがsteam://run/<appid>/?param1=value1;param2=value2;param3=value3 等で実行された場合、関連するローンチパラメーターを取得します。

'@' で始まるパラメーター名は内部使用のために予約されており、常に空の文字列を返します。
'_' で始まるパラメーター名はSteam機能のために予約されており、ゲームから抽出可能であるものの、ゲームの機能のために'_' で始まるパラメーター名は私用しないでください。

戻り値: const char *
提供されたキーに関連する値。 指定のキーが存在しない場合には、空の文字列("")を返します。

こちらも参照してください: NewLaunchQueryParameters_t

InstallDLC

void InstallDLC( AppId_t nAppID );
名前説明
nAppIDAppId_tインストールしたいDLC。

任意のDLCのインストールを許可します。

戻り値: void
Triggers a DlcInstalled_t callback.

MarkContentCorrupt

bool MarkContentCorrupt( bool bMissingFilesOnly );
名前説明
bMissingFilesOnlybool足りないファイルのみをスキャンし、各ファイルのチェックサムは確認しません。

次回の起動時にゲームコンテンツの整合性を強制的に確認することを許可します。

(例えば、クライアントにサーバーとのバージョンが違うことを検出させる方法で)ゲームが古いバージョンだと検出された場合、
MarkContentCorruptを呼び出して確認を強制し、ユーザーにメッセージを表示させて終了できます。

戻り値: bool

RequestAllProofOfPurchaseKeys

void RequestAllProofOfPurchaseKeys();
推奨されていません。

RequestAppProofOfPurchaseKey

void RequestAppProofOfPurchaseKey( AppId_t nAppID );
名前説明
nAppIDAppId_t

推奨されていません。

UninstallDLC

void UninstallDLC( AppId_t nAppID );
名前説明
nAppIDAppId_tアンインストールしたいDLC。

任意のDLCのアンインストールを許可します。

コールバック

これらは SteamAPI_RunCallbacks を呼び出すことによって実行されるコールバックです。 これらの多くはISteamAppsのメンバー関数への応答として直接実行されます。

AppProofOfPurchaseKeyResponse_t

Steam内でのみ使用されます。

名前説明
m_eResultEResult
m_nAppIDuint32
m_cchKeyLengthuint32
m_rgchKeychar[k_cubAppProofOfPurchaseKeyMax

DlcInstalled_t

現在のユーザーがDLCを所有した後にトリガーされ、そのDLCがインストールされます。

名前説明
m_nAppIDAppId_tインストールされたDLCのAppID。

関連する関数: InstallDLC

FileDetailsResult_t

指定のファイルの詳細をリクエストした後に呼び出されます。

名前説明
m_eResultEResultコールは成功? その場合、k_EResultOKとなり、それ以外ではファイルが見つからなければk_EResultFileNotFoundです。 コールが失敗した場合、他のフィールドが埋められることはありません。
m_ulFileSizeuint64オリジナルのファイルサイズ(バイト)。
m_FileSHAuint8[20]SHA1がハッシュするオリジナルのファイル。
m_unFlagsuint32

関連する関数: GetFileDetails

NewUrlLaunchParameters_t

ユーザーが、ゲームが既に実行している状態で steam://run/<appid>//?param1=value1;param2=value2;param3=value3;などのクエリパラメーターまたはコマンドラインを使用してSteam URLを実行した後にポストされます。 新しいパラメーターはGetLaunchCommandLineGetLaunchQueryParamで抽出できます。

このコールバックにはフィールドはありません。

NewLaunchQueryParameters_t

ゲームが既に実行している状態でsteam://run/<appid>//?param1=value1;param2=value2;param3=value3;などのクエリパラメターでユーザーがSteam URLを実行した後にポストされます。 GetLaunchQueryParamで新しいパラメーターを照会できます。

このコールバックにはフィールドはありません。

RegisterActivationCodeResponse_t

Steam内でのみ使用されます。

名前説明
m_eResultERegisterActivationCodeResult
m_unPackageRegistereduint32

列挙型

これらは ISteamAppsで使用するために定義された列挙型です。

ERegisterActivationCodeResult

Steam内でのみ使用されます。

名前説明
k_ERegisterActivationCodeResultOK0
k_ERegisterActivationCodeResultFail1
k_ERegisterActivationCodeResultAlreadyRegistered2
k_ERegisterActivationCodeResultTimeout3
k_ERegisterActivationCodeAlreadyOwned4

定数

これらはISteamAppsで使用するために定義された定数です。

Name説明
k_cubAppProofOfPurchaseKeyMaxint240Steam内でのみ使用されます。
STEAMAPPS_INTERFACE_VERSIONconst char *"STEAMAPPS_INTERFACE_VERSION008"