Documentation Steamworks
Interface ISteamApps
Expose un large éventail d'informations et d'actions pour les applications et les contenus téléchargeables (DLC).

Fonctions membres

Les fonctions membres d'ISteamApps sont appelées par le biais de la fonction d'accesseur global SteamApps().

BGetDLCDataByIndex

bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize );
NomTypeDescription
iDLCintIndex du DLC à obtenir entre 0 et GetDLCCount.
pAppIDAppId_t *Renvoie l'AppID du DLC.
pbAvailablebool *Renvoie une valeur indiquant si le DLC est actuellement disponible ou non dans le magasin Steam. La valeur sera définie sur false si le DLC n'a pas de page du magasin visible.
pchNamechar *Renvoie le nom du DLC en le copiant dans ce tampon.
cchNameBufferSizeintTaille du tampon pchName.

Renvoie les métadonnées pour un DLC par index.

Éléments renvoyés : bool
true si l'AppID actuel possède des DLC qui lui sont associés et que iDLC se trouve dans l'intervalle de 0 à GetDLCCount. Autrement, renvoie false.

Exemple
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 ) { // Fait quelque chose avec les données du DLC } }

BIsAppInstalled

bool BIsAppInstalled( AppId_t appID );
NomTypeDescription
AppIDAppId_tAppID de l'application à vérifier.

Vérifie si une application spécifique est installée.

Il est possible que le compte actuel ne possède pas l'application si celle-ci avait été obtenue pour une durée limitée, comme lors d'un weekend gratuit.

Cela ne fonctionne que pour les applications de base, et non pour les DLC. Pour les DLC, utilisez plutôt BIsDlcInstalled.

Éléments renvoyés : bool
true si l'AppID spécifié est installé. Autrement, renvoie false.

BIsCybercafe

bool BIsCybercafe();
Vérifie si l'AppID actuel est pour les cybercafés.

Éléments renvoyés : bool
true si la licence est pour les cybercafés. Autrement, renvoie false.
Obsolète : cette fonction n'est plus utilisée.

BIsDlcInstalled

bool BIsDlcInstalled( AppId_t appID );
NomTypeDescription
AppIDAppId_tAppID du DLC à vérifier.

Vérifie si le compte actuel possède un DLC spécifique et si le DLC est installé.

Éléments renvoyés : bool
true si le compte possède le DLC et qu'il est installé. Autrement, renvoie false.

Remarque : à n'utiliser que pour des vérifications simples du côté client, et non pour distribuer des items en jeu.

BIsLowViolence

bool BIsLowViolence();
Vérifie si la licence que la personne possède prévoit des dépôts où la violence est censurée.

Les dépôts où la violence est censurée sont utiles pour les copies vendues dans les pays imposant des restrictions de contenu.

Éléments renvoyés : bool
true si la licence que la personne possède prévoit des dépôts où la violence est censurée. Autrement, renvoie false.

Consultez également la page de la documentation sur les règles de montage des dépôts.

BIsSubscribed

bool BIsSubscribed();
Vérifie si le compte actif est abonné à l'AppID actuel.

REMARQUE : renverra toujours true si vous utilisez un DRM Steam ou que vous appelez SteamAPI_RestartAppIfNecessary.

Éléments renvoyés : bool
true si le compte actif possède l'AppID actuel. Autrement, renvoie false.

BIsSubscribedApp

bool BIsSubscribedApp( AppId_t appID );
NomTypeDescription
AppIDAppId_tAppID à vérifier.

Vérifie si le compte actif est abonné à un AppID défini.

N'utilisez cette fonction que si vous devez vérifier que le compte possède un autre jeu lié au vôtre, comme une démo.

Éléments renvoyés : bool
true si le compte actif est abonné à l'AppID défini. Autrement, renvoie false.

BIsSubscribedFromFamilySharing

bool BIsSubscribedFromFamilySharing();

Vérifie si le compte actif accède à l'AppID actuel depuis une licence de partage familial temporaire dont un autre compte est propriétaire.

Si vous devez déterminer le SteamID du compte propriétaire de la licence, utilisez GetAppOwner.

Éléments renvoyés : bool
true si le compte actif accède à l'AppID actuel depuis un partage familial. Autrement, renvoie false.

BIsSubscribedFromFreeWeekend

bool BIsSubscribedFromFreeWeekend();

Vérifie si le compte est abonné à l'AppID actuel via un weekend gratuit.

Avant d'utiliser cette fonction, veuillez contacter l'équipe technique Valve responsable de la gestion des comptes via le forum de discussion de Steamworks pour bien préparer et sécuriser votre weekend gratuit.

Éléments renvoyés : bool
true si le compte actif est abonné à l'AppID actuel via un weekend gratuit. Renvoie false pour n'importe quel autre type de licence.

BIsTimedTrial

bool BIsTimedTrial(uint32* punSecondsAllowed, uint32* punSecondsPlayed);
NomTypeDescription
punSecondsAlloweduint32 *Renvoie la durée totale de l'essai en secondes.
punSecondsPlayeduint32 *Renvoie le temps de jeu du compte en secondes.

Vérifie si le compte est abonné à l'AppID actuel via un essai à durée limitée. Si c'est le cas, renvoie true et indique la durée totale de l'essai à durée limitée, ainsi que la durée actuelle du temps de jeu du compte associé.

Éléments renvoyés : bool
true si le compte actif est abonné à l'AppID actuel via un essai à durée limitée. Renvoie false pour n'importe quel autre type de licence.

Consultez également TimedTrialStatus_t.

BIsVACBanned

bool BIsVACBanned();
Vérifie si le compte a reçu un bannissement VAC.

Éléments renvoyés : bool
true si la personne a reçu un bannissement VAC sur son compte. Autrement, renvoie false.

GetAppBuildId

int GetAppBuildId();
Obtient l'ID du build de cette application. Il peut être modifié à tout moment en fonction des mises à jour du jeu sur le serveur principal.

Éléments renvoyés : int
L'ID du build actuel de cette application. Par défaut, cette fonction renverra 0 si vous n'utilisez pas un build téléchargé depuis Steam.

GetAppInstallDir

uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize );
NomTypeDescription
appIDAppId_tAppID pour lequel il faut obtenir le répertoire d'installation.
pchFolderchar *Tampon de chaine dans lequel le chemin du dossier sera copié.
cchFolderBufferSizeuint32Taille en octets du tampon pchFolder.

Obtient le dossier d'installation pour un AppID spécifique.

Cela fonctionne même si l'application n'est pas installée, en fonction de l'emplacement par défaut où serait installé le jeu dans la bibliothèque Steam.

Éléments renvoyés : uint32
Renvoie le chemin du répertoire d'installation sous forme de chaine dans le tampon fourni par pchFolder ainsi que le nombre d'octets copiés dans ce tampon.

GetAppOwner

CSteamID GetAppOwner();
Obtient le SteamID de la personne véritablement propriétaire de l'application actuelle. Il est différent de la personne qui joue si l'accès à cette application a été réalisé via le partage familial.

Éléments renvoyés : CSteamID
Le compte propriétaire d'origine de l'application actuelle.

GetAvailableGameLanguages

const char * GetAvailableGameLanguages();
Obtient une liste séparée par des virgules des langues prises en charge par l'application actuelle.

Pour la liste complète des langues qui peuvent être renvoyées, consultez l'article sur la traduction et les langues.

Éléments renvoyés : const char *
Renvoie une liste de langues séparées par des virgules.

Consultez également : GetCurrentGameLanguage, ISteamUtils::GetSteamUILanguage

GetCurrentBetaName

bool GetCurrentBetaName( char *pchName, int cchNameBufferSize );
NomTypeDescription
pchNamechar *Tampon dans lequel le nom de la bêta sera copié.
cchNameBufferSizeintTaille totale du tampon pchName.

Vérifie si la personne exécute le logiciel depuis une version bêta et obtient le nom de la version le cas échéant.

Éléments renvoyés : bool
true si la personne utilise une version bêta. Autrement, renvoie false.

GetCurrentGameLanguage

const char * GetCurrentGameLanguage();
Obtient la langue actuellement définie pour le compte.

Si la personne n'a pas choisi explicitement une langue pour le titre, c'est la langue de l'interface Steam qui sera utilisée.

Pour obtenir la liste complète des langues prises en charge, consultez cet article.

Éléments renvoyés : const char *


Consultez également GetAvailableGameLanguages et ISteamUtils::GetSteamUILanguage.

GetDLCCount

int GetDLCCount();
Obtient le nombre de DLC pour l'application actuelle.

Sert typiquement à effectuer une boucle sur chaque DLC pour récupérer les informations sur chacun d'eux à l'aide de BGetDLCDataByIndex.

Éléments renvoyés : int
Le nombre de DLC pour l'application actuelle. Remarque : cette valeur peut être limitée à 64, selon le nombre de DLC non possédés par la personne. Si votre application possède de nombreux DLC, établissez votre propre liste interne de DLC afin d'effectuer une vérification.

Exemple
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 ) { // Faites quelque chose avec les données du DLC } }

GetDlcDownloadProgress

bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal );
NomTypeDescription
nAppIDAppId_tAppID du DLC à surveiller.
punBytesDownloadeduint64 *Renvoie le nombre d'octets téléchargés.
punBytesTotaluint64 *Renvoie la taille totale du téléchargement en octets.

Obtient la progression du téléchargement pour le DLC facultatif.

Éléments renvoyés : bool
true si le DLC spécifié existe et est en cours de téléchargement. Autrement, renvoie false.

GetEarliestPurchaseUnixTime

uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID );
NomTypeDescription
nAppIDAppId_tAppID pour lequel la date d'achat doit être obtenue.

Obtient la date d'achat de l'application spécifiée au format horaire Unix (nombre de secondes écoulées depuis le 1ᵉʳ janvier 1970).

Cette fonction est utile pour récompenser vos fans en fonction de la date de leur achat initial.

Éléments renvoyés : uint32
La date d'achat la plus ancienne au format horaire Unix (nombre de secondes écoulées depuis le 1ᵉʳ janvier 1970).

GetFileDetails

SteamAPICall_t GetFileDetails( const char*pszFileName );
NomTypeDescription
pszFileNameconst char*Chemin absolu et nom du fichier.

Récupère de manière asynchrone les détails des métadonnées concernant un fichier spécifique dans le manifeste du dépôt.

Fournit actuellement :
la taille du fichier en octets ;
le hachage SHA1 du fichier ;
les indicateurs du fichier.

Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel FileDetailsResult_t.

GetInstalledDepots

uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots );
NomTypeDescription
appIDAppId_tApplication pour laquelle les dépôts doivent être listés.
pvecDepotsDepotId_t *Tableau préalloué qui sera rempli avec les listes des dépôts.
cMaxDepotsuint32Nombre maximum de dépôts à obtenir, généralement la taille de pvecDepots.

Obtient une liste de tous les dépôts installés pour un AppID dans l'ordre de montage.

Éléments renvoyés : uint32
Le nombre de dépôts renvoyés.

GetLaunchCommandLine

int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
NomTypeDescription
pszCommandLinechar *Tampon de chaine dans lequel la ligne de commande sera copiée.
cubCommandLine intTaille en octets du tampon pszCommandLine.

Obtient la ligne de commande si le jeu a été lancé depuis une URL Steam, comme steam://run/<appid>//<command line>/. Cette méthode est préférable au lancement avec une ligne de commande depuis le système d'exploitation, qui peut comporter des risques. Pour s'assurer que les liens de présence enrichie passent par cette méthode et non pas par la ligne de commande du système d'exploitation, vous devez activer l'option correspondante. Pour ce faire, depuis la page d'accueil de votre application sur Steamworks, cliquez sur Modifier les paramètres Steamworks → Installation → Installation générale, puis cochez « Activer l'utilisation de ISteamApps::GetLaunchCommandLine() ».

Éléments renvoyés : int
Renvoie la ligne de commande sous forme de chaine dans le tampon fourni par pszCommandLine ainsi que le nombre d'octets copiés dans ce tampon.

Consultez également NewUrlLaunchParameters_t.

GetLaunchQueryParam

const char * GetLaunchQueryParam( const char *pchKey );
NomTypeDescription
pchKeyconst char *Clé de lancement à tester. P. ex. : param1

Obtient le paramètre de lancement associé si le jeu est lancé via steam://run/<appid>/?param1=valeur1;param2=valeur2;param3=valeur3, etc.

Les noms de paramètres commençant par une arobase « @ » sont réservés à un usage interne et renverront toujours une chaine vide.
Les noms de paramètres commençant par un tiret bas « _ » sont réservés aux fonctions de Steam. Ils peuvent être demandés par le jeu, mais il est conseillé de ne pas paramétrer de noms commençant par un tiret bas pour vos propres fonctions.

Éléments renvoyés : const char *
La valeur associée à la clé fournie. Renvoie une chaine vide ("") si la clé spécifiée n'existe pas.

Consultez également : NewLaunchQueryParameters_t.

InstallDLC

void InstallDLC( AppId_t nAppID );
NomTypeDescription
nAppIDAppId_tDLC que vous voulez installer.

Vous permet d'installer un DLC facultatif.

Éléments renvoyés : void

Déclenche un rappel DlcInstalled_t.

MarkContentCorrupt

bool MarkContentCorrupt( bool bMissingFilesOnly );
NomTypeDescription
bMissingFilesOnlyboolRecherche uniquement les fichiers manquants, sans vérifier la somme de contrôle de chaque fichier.

Vous permet de forcer la vérification du contenu du jeu lors du lancement suivant.

Si vous détectez que le jeu n'est pas à jour (par exemple, en faisant en sorte que le client détecte que la version et le serveur ne correspondent pas),
vous pouvez appeler MarkContentCorrupt pour forcer une vérification, afficher un message à la personne, puis fermer le jeu.

Éléments renvoyés : bool

RequestAllProofOfPurchaseKeys

void RequestAllProofOfPurchaseKeys();
Obsolète.

RequestAppProofOfPurchaseKey

void RequestAppProofOfPurchaseKey( AppId_t nAppID );
NomTypeDescription
nAppIDAppId_t

Obsolète.

UninstallDLC

void UninstallDLC( AppId_t nAppID );
NomTypeDescription
nAppIDAppId_tDLC que vous voulez désinstaller.

Vous permet de désinstaller un DLC facultatif.

Rappels

Voici les rappels qui peuvent être activés en appelant SteamAPI_RunCallbacks. La plupart seront activés directement en réponse aux fonctions membres d'ISteamApps.

AppProofOfPurchaseKeyResponse_t

Utilisé uniquement en interne dans Steam.

NomTypeDescription
m_eResultEResult
m_nAppIDuint32
m_cchKeyLengthuint32
m_rgchKeychar[k_cubAppProofOfPurchaseKeyMax

DlcInstalled_t

Déclenché une fois que le compte actuel devient propriétaire du DLC et que ce DLC est installé.

NomTypeDescription
m_nAppIDAppId_tAppID du DLC qui a été installé.

Fonctions associées : InstallDLC.

FileDetailsResult_t

Appelé après avoir demandé les détails d'un fichier spécifique.

NomTypeDescription
m_eResultEResultL'appel a-t-il réussi ? k_EResultOK si c'est le cas. Autrement, renvoie k_EResultFileNotFound si le fichier n'a pas été trouvé. Aucun des autres champs ne sera rempli si l'appel n'a pas réussi.
m_ulFileSizeuint64Taille originale du fichier en octets.
m_FileSHAuint8[20]Hachage SHA1 du fichier original.
m_unFlagsuint32

Fonctions associées : GetFileDetails.

NewUrlLaunchParameters_t

Envoyé quand une personne exécute une URL Steam avec une ligne de commande ou des paramètres de requête tels que steam://run/<appid>//?param1=valeur1;param2=valeur2;param3=valeur3; alors que le jeu est déjà en cours d'exécution. Les nouveaux paramètres peuvent être demandés à l'aide de GetLaunchCommandLine et GetLaunchQueryParam.

Ce rappel n'a pas de champ.

NewLaunchQueryParameters_t

Envoyé quand une personne exécute une URL Steam avec des paramètres de requête tels que steam://run/<appid>//?param1=valeur1;param2=valeur2;param3=valeur3; alors que le jeu est en cours d'exécution. Les nouveaux paramètres peuvent être demandés à l'aide de GetLaunchQueryParam.

Ce rappel n'a pas de champ.

RegisterActivationCodeResponse_t

Utilisé uniquement en interne dans Steam.

NomTypeDescription
m_eResultERegisterActivationCodeResult
m_unPackageRegistereduint32

TimedTrialStatus_t

Envoyé chaque minute lorsqu'un appID est détenu dans le cadre d'un essai à durée limitée.

NomTypeDescription
m_unAppIDAppId_tAppID détenu dans le cadre d'un essai à durée limitée.
m_bIsOfflineboolSi la valeur est true, cela signifie que la personne est actuellement hors ligne. Le temps de jeu autorisé (m_unSecondsAllowed) ou passé en jeu (m_unSecondsPlayed) qui est renvoyé fait référence au temps de jeu en mode hors ligne, et non au temps de jeu total.
m_unSecondsAlloweduint32Temps de jeu autorisé au total en secondes.
m_unSecondsPlayeduint32Temps de jeu en secondes.

Consultez également BIsTimedTrial.

Énumérations

Voici les énumérations destinées à être utilisées avec ISteamApps.

ERegisterActivationCodeResult

Utilisée uniquement en interne dans Steam.

NomValeurDescription
k_ERegisterActivationCodeResultOK0
k_ERegisterActivationCodeResultFail1
k_ERegisterActivationCodeResultAlreadyRegistered2
k_ERegisterActivationCodeResultTimeout3
k_ERegisterActivationCodeAlreadyOwned4

Constantes

Voici les constantes destinées à être utilisées avec ISteamApps.

NomTypeValeurDescription
k_cubAppProofOfPurchaseKeyMaxint240Utilisée uniquement en interne dans Steam.
STEAMAPPS_INTERFACE_VERSIONconst char *"STEAMAPPS_INTERFACE_VERSION008"