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が現在Steamストアから入手可能かを返します。 DLCが表示されているストアページを持たない場合、falseを返します。
pchNamechar *このバッファーにコピーして、DLCの名前を返します。
cchNameBufferSizeintpchNameバッファの長さ。

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

戻り値: bool
true となるのは現在のAppIDが関連するDLCを持ち、iDLCが0から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 ) { // 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を無料ウィークエンドを通してサブスクライブしているかをチェックします。

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

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

BIsTimedTrial

bool BIsTimedTrial(uint32* punSecondsAllowed, uint32* punSecondsPlayed);
名前説明
punSecondsAlloweduint32 *タイムトライアルがリストされる時間(秒)を返します。
punSecondsPlayeduint32 *ユーザーがこれまでプレイした時間(秒)を返します。

ユーザーが現在のAppIDをタイムトライアルを通してサブスクライブしているかをチェックします。 当てはまる場合はtrueを返し、タイムトライアルで許可された合計時間と、現時点でユーザーがプレイした時間を返します。

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

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

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 *
コンマで区切った言語のリストを返します。

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

GetCurrentBetaName

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

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

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

GetCurrentGameLanguage

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

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

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

戻り値: const char *


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

GetDLCCount

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

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

戻り値: int
現在のアプリのDLCの数。この値はユーザーが所有していないDLCの数に基づき、最大が64に設定されている場合があります。 アプリに沢山のDLCがある場合、内部で使用する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

DlcInstalled_tコールバックをトリガーします。

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

TimedTrialStatus_t

appIDがタイムトライアル経由で所有されている場合、毎分送信されます。

名前説明
m_unAppIDAppId_tタイムトライアル内のAppID。
m_bIsOfflinebooltrueの場合、ユーザーは現在オフラインです。 許可された時間/プレイ時間は、合計時間ではなくオフライン時間を参照します。
m_unSecondsAlloweduint32アプリを合計で何秒間プレイ可能か。
m_unSecondsPlayeduint32アプリがすでに何秒間プレイされたか。

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

列挙型

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

ERegisterActivationCodeResult

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

名前説明
k_ERegisterActivationCodeResultOK0
k_ERegisterActivationCodeResultFail1
k_ERegisterActivationCodeResultAlreadyRegistered2
k_ERegisterActivationCodeResultTimeout3
k_ERegisterActivationCodeAlreadyOwned4

定数

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

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