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

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

GetCurrentBetaName

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

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

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

GetNumBetas

int GetNumBetas( int *pnAvailable, int *pnPrivate );
名前型説明
pnAvailableint*現在のユーザーが利用できるベータブランチの数。
pnPrivate int*利用可能なプライベートベータの数。

GetBetaInfo()で反復処理できる既知のアプリブランチの総数(デフォルトの「パブリック」ブランチを含む)を返します

戻り値: int
既知のアプリブランチ数

GetBetaInfo

bool GetBetaInfo( int iBetaIndex, uint32 *punFlags, uint32 *punBuildID, char *pchBetaName, int cchBetaName, char *pchDescription, int cchDescription );
名前型説明
iBetaIndexint0から始まるブランチインデックス(0は常にデフォルトブランチ)。
punFlagsuint32 *現在のブランチの状態を説明するフラグのセット(EBetaBranchFlags)。
punBuildIDuint32 *このブランチでライブに設定されているコンテンツのBuildID。
pchBetaNamechar *ベータブランチの名前
cchBetaNameint呼び出し元によって提供されたpchBetaNameのサイズ
pchDescriptionchar *ベータブランチの説明
cchDescriptionint呼び出し元によって提供されたpchDescriptionのサイズ
punLastUpdateduint32 *ベータビルドが最後に更新された時刻のタイムスタンプを返します。

名前、説明、状態など、アプリのベータブランチに関する詳細を取得します。

戻り値: 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();
ユーザーが設定中の現在の言語を取得します。

常にGetAvailableGameLanguagesから返される言語のいずれかを返します。当該タイトルで使用する言語をユーザーが明示的に選択していない場合、次の順序で最初にサポートされている言語を返します:Steam UIの言語、Steam UIの言語に関連する地域別の派生言語、英語、サポートされている最初の言語。

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

戻り値: const char *

こちらも参照してください: GetAvailableGameLanguages、ISteamUtils::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_tはFileDetailsResult_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

非推奨。

SetGamePerformanceSetting

void SetGamePerformanceSetting();
名前型説明
settingEGamePerformanceSetting相対的なパフォーマンスレベル。

現在のユーザーに対して設定されている相対的なパフォーマンス設定をゲームがSteamサーバーに報告できるようにします。ユーザーがこれらのデータを共有することに同意している場合、このデータは匿名化されたフレームレートデータに含まれます。

SetGameRenderResolution

void SetGameRenderResolution();
名前型説明
unWidthuint32ピクセルの幅。
unHeightuint32ピクセルの高さ。

現在のユーザーに対して設定されているレンダリング解像度設定をゲームがSteamサーバーに報告できるようにします。ユーザーがこれらのデータを共有することに同意している場合、このデータは匿名化されたフレームレートデータに含まれます。

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を実行した後にポストされます。新しいパラメーターはGetLaunchCommandLineと GetLaunchQueryParamで抽出できます。

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

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で使用するために定義された列挙型です。

EGamePerformanceSetting

ゲームのパフォーマンスレベル。

名前値説明
k_EGamePerformanceSetting_NotSet0
k_EGamePerformanceSetting_Low1
k_EGamePerformanceSetting_Medium2
k_EGamePerformanceSetting_High3
k_EGamePerformanceSetting_Ultra4
k_EGamePerformanceSetting_Custom4

ERegisterActivationCodeResult

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

名前値説明
k_ERegisterActivationCodeResultOK0
k_ERegisterActivationCodeResultFail1
k_ERegisterActivationCodeResultAlreadyRegistered2
k_ERegisterActivationCodeResultTimeout3
k_ERegisterActivationCodeAlreadyOwned4

定数

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

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