アプリケーションと
ダウンロードコンテンツ(DLC)のアクションに関する広範囲の情報を紹介します。
メンバー関数
ISteamAppsのメンバー関数は、グローバルのアクセサ関数
SteamApps()経由で呼び出されます。
BGetDLCDataByIndex
bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize );
| 名前 | 型 | 説明 |
| iDLC | int | 0とGetDLCCountの間を取得するDLCのインデックス。 |
| pAppID | AppId_t * | DLCのAppIDを返します。 |
| pbAvailable | bool * | DLCが現在Steamストアから入手可能かを返します。 DLCが表示されているストアページを持たない場合、falseを返します。 |
| pchName | char * | このバッファーにコピーして、DLCの名前を返します。 |
| cchNameBufferSize | int | pchNameバッファーの長さ。 |
インデックスで、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 );
| 名前 | 型 | 説明 |
| appID | AppId_t | チェックするアプリケーションのAppID。 |
指定のアプリがインストールされているかを確認します。
無料ウィークエンドなどを利用したことで、ユーザーが現時点でアプリを所有していない場合があります。
ダウンロードコンテンツ(DLC)ではなく、これはベースアプリケーションでのみ機能します。 DLCには、代わりに
BIsDlcInstalledを使用します。
戻り値: bool
true となるのは指定のAppIDがインストールされている場合のみ。それ以外は
falseです。
BIsCybercafe
bool BIsCybercafe();
現在のAppIDがネットカフェ用かをチェックします。
戻り値: bool
true となるのはライセンスがネットカフェ用の場合のみ。それ以外の場合は
falseです。
非推奨-使用されなくなりました。
BIsDlcInstalled
bool BIsDlcInstalled( AppId_t 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 );
アクティブなユーザーが指定の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);
| 名前 | 型 | 説明 |
| punSecondsAllowed | uint32 * | タイムトライアルがリストされる時間(秒)を返します。 |
| punSecondsPlayed | uint32 * | ユーザーがこれまでプレイした時間(秒)を返します。 |
ユーザーが現在のAppIDをタイムトライアルを通してサブスクライブしているかをチェックします。当てはまる場合はtrueを返し、タイムトライアルで許可された合計時間と、現時点でユーザーがプレイした時間を返します。
戻り値: bool
true となるのはアクティブなユーザーが現在のAppIDをタイムトライアル経由でサブスクライブしている場合のみ。それ以外は
falseです。
こちらも参照してください: TimedTrialStatus_tBIsVACBanned
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 );
| 名前 | 型 | 説明 |
| appID | AppId_t | インストール先のディレクトリを取得するAppID。 |
| pchFolder | char * | フォルダーパスがコピーされる文字列バッファー。 |
| cchFolderBufferSize | uint32 | pchFolderバッファーのバイト単位でのサイズ。 |
指定のAppIDのインストールフォルダーを取得します。
アプリケーションがインストールされていなくても機能します。ゲームがデフォルトのSteamライブラリロケーションにインストールされるかに基づいています。
戻り値: uint32pchFolderで提供されたバッファーに文字列としてインストールディレクトリのパスと、そのバッファーにコピーされたバイトの数値を返します。
GetAppOwner
CSteamID GetAppOwner();
現在のアプリの真の所有者のSteamIDを取得します。これは、ファミリーシェアリングを通してこのアプリにアクセスしている場合には、現在のユーザーとは異なります。
戻り値: CSteamID現在のアプリの元の所有者。
GetAvailableGameLanguages
const char * GetAvailableGameLanguages();
現在アプリがサポートしている言語をコンマで区切ったリストとして取得します。
返される可能性のある言語の完全なリストの取得は
ローカリゼーションと言語を参照してください。
戻り値: const char *
コンマで区切った言語のリストを返します。
こちらも参照してください: 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から始まるブランチインデックス(0は常にデフォルトブランチ)。 |
| punFlags | uint32 * | 現在のブランチの状態を説明するフラグのセット(EBetaBranchFlags)。 |
| punBuildID | uint32 * | このブランチでライブに設定されているコンテンツのBuildID。 |
| pchBetaName | char * | ベータブランチの名前 |
| cchBetaName | int | 呼び出し元によって提供されたpchBetaNameのサイズ |
| pchDescription | char * | ベータブランチの説明 |
| cchDescription | int | 呼び出し元によって提供されたpchDescriptionのサイズ |
| punLastUpdated | uint32 * | ベータビルドが最後に更新された時刻のタイムスタンプを返します。 |
名前、説明、状態など、アプリのベータブランチに関する詳細を取得します。
戻り値: 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::GetSteamUILanguageGetDLCCount
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 );
| 名前 | 型 | 説明 |
| nAppID | AppId_t | モニターするDLCのAppID。 |
| punBytesDownloaded | uint64 * | ダウンロード済みのバイト数を返します。 |
| punBytesTotal | uint64 * | 合計ダウンロードサイズ(バイト)を返します。 |
任意のDLCのダウンロード進行状況を取得します。
戻り値: bool
true となるのは指定したDLCが存在し現在ダウンロード中の場合のみ。それ以外は
falseです。
GetEarliestPurchaseUnixTime
uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID );
指定のアプリの購入時間をUnixエポック形式(1970年1月1日以降の秒単位での時間)で取得します。
初回購入日に基づいてユーザーにリワードを提供する場合に便利です。
戻り値: uint32最も古い購入時間をUnixエポック形式(1970年1月1日以降の秒単位での時間)で提供。
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バッファーのバイト単位でのサイズ。 |
ゲームがSteamURL経由で起動された場合にコマンドラインを取得します。例 steam://run/<appid>//<command line>/ オペレーティングシステム経由でコマンドラインを使ってローンチすることはセキュリティの問題となり得るため、それよりも好ましいメソッドです。リッチプレゼンスがこれを通して参入し、OSのコマンドラインに置かれないために、アプリのインストールタブ>詳細オプション>「起動コマンドラインの使用」を有効化してください。
戻り値: int
pszCommandLineに提供されたバッファーに文字列としてコマンドラインを返し、そのバッファーにコピーされたバイトの数値を返します。
こちらも参照してください: NewUrlLaunchParameters_tGetLaunchQueryParam
const char * GetLaunchQueryParam( const char *pchKey );
| 名前 | 型 | 説明 |
| pchKey | const char * | テストするローンチキー。例: param1 |
ゲームがsteam://run/<appid>/?param1=value1;param2=value2;param3=value3 等で実行された場合、関連するローンチパラメーターを取得します。
「@」で始まるパラメーター名は内部使用のために予約されており、常に空の文字列を返します。
「_(アンダースコア)」 で始まるパラメーター名はSteam機能のために予約されており、ゲームから抽出可能であるものの、ゲームの機能のためにアンダースコアで始まるパラメーター名は使用しないでください。
戻り値: const char *
提供されたキーに関連する値。指定のキーが存在しない場合には、空の文字列("")を返します。
こちらも参照してください: NewLaunchQueryParameters_tInstallDLC
void InstallDLC( AppId_t nAppID );
任意のDLCのインストールを許可します。
戻り値: void
DlcInstalled_tコールバックをトリガーします。
MarkContentCorrupt
bool MarkContentCorrupt( bool bMissingFilesOnly );
| 名前 | 型 | 説明 |
| bMissingFilesOnly | bool | 足りないファイルのみをスキャンし、各ファイルのチェックサムは確認しません。 |
次回の起動時にゲームコンテンツの整合性を強制的に確認することを許可します。
(例えば、クライアントにサーバーとのバージョンが違うことを検出させる方法で)ゲームが古いバージョンだと検出された場合、
MarkContentCorruptを呼び出して確認を強制し、ユーザーにメッセージを表示してから、終了させることができます。
戻り値: bool
RequestAllProofOfPurchaseKeys
void RequestAllProofOfPurchaseKeys();
使用されていません。
RequestAppProofOfPurchaseKey
void RequestAppProofOfPurchaseKey( AppId_t nAppID );
非推奨。
SetGamePerformanceSetting
void SetGamePerformanceSetting();
現在のユーザーに対して設定されている相対的なパフォーマンス設定をゲームがSteamサーバーに報告できるようにします。ユーザーがこれらのデータを共有することに同意している場合、このデータは匿名化されたフレームレートデータに含まれます。
SetGameRenderResolution
void SetGameRenderResolution();
| 名前 | 型 | 説明 |
| unWidth | uint32 | ピクセルの幅。 |
| unHeight | uint32 | ピクセルの高さ。 |
現在のユーザーに対して設定されているレンダリング解像度設定をゲームがSteamサーバーに報告できるようにします。ユーザーがこれらのデータを共有することに同意している場合、このデータは匿名化されたフレームレートデータに含まれます。
UninstallDLC
void UninstallDLC( AppId_t nAppID );
任意のDLCのアンインストールを許可します。
コールバック
以下は
SteamAPI_RunCallbacksを呼び出すことで実行されるコールバックです。これらの多くは
ISteamAppsのメンバー関数への応答として直接実行されます。
AppProofOfPurchaseKeyResponse_t
Steam内でのみ使用されます。
DlcInstalled_t
現在のユーザーがDLCを所有した後にトリガーされ、そのDLCがインストールされます。
| 名前 | 型 | 説明 |
| m_nAppID | AppId_t | インストールされたDLCのAppID。 |
関連する関数: InstallDLCFileDetailsResult_t
指定のファイルの詳細をリクエストした後に呼び出されます。
関連する関数: GetFileDetailsNewUrlLaunchParameters_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内でのみ使用されます。
TimedTrialStatus_t
appIDがタイムトライアル経由で所有されている場合、毎分送信されます。
| 名前 | 型 | 説明 |
| m_unAppID | AppId_t | タイムトライアル内のAppID。 |
| m_bIsOffline | bool | trueの場合、ユーザーは現在オフラインです。許可された時間/プレイ時間は、合計時間ではなくオフライン時間を参照します。 |
| m_unSecondsAllowed | uint32 | アプリを合計で何秒間プレイ可能か。 |
| m_unSecondsPlayed | uint32 | アプリがすでに何秒間プレイされたか。 |
こちらも参照してください: BIsTimedTrial列挙型
これらはISteamAppsで使用するために定義された列挙型です。
EGamePerformanceSetting
ゲームのパフォーマンスレベル。
| 名前 | 値 | 説明 |
| k_EGamePerformanceSetting_NotSet | 0 | |
| k_EGamePerformanceSetting_Low | 1 | |
| k_EGamePerformanceSetting_Medium | 2 | |
| k_EGamePerformanceSetting_High | 3 | |
| k_EGamePerformanceSetting_Ultra | 4 | |
| k_EGamePerformanceSetting_Custom | 4 | |
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" | |