Steamworks-dokumentation
ISteamApps-grænseflade
Viser en lang række oplysninger og handlinger for applikationer og Indhold, der kan downloades (DLC).

Medlemsfunktioner

Medlemsfunktioner for ISteamApp kaldes gennem den globale accessor-funktion SteamApp().

BGetDLCDataByIndex

bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize );
NavnTypeBeskrivelse
iDLCintDLC-indekset til at få mellem 0 og GetDLCCount.
pAppIDAppId_t *Returnerer app-ID'et for DLC'et.
pbAvailablebool *Returnerer, om DLC'et i øjeblikket er tilgængeligt i Steam-butikken. Returnerer false, hvis DLC'et ikke har en synlig butiksside
pchNamechar *Returnerer navnet på DLC'et ved at kopiere det ind i denne buffer.
cchNameBufferSizeintLængden af pchName-bufferen.

Returnerer metadata for et DLC ud fra indeks.

Returværdier: bool
true, hvis det nuværende app-ID har DLC tilknyttet, og iDLC ligger mellem 0 og GetDLCCount, ellers false.

Eksempel:
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 ) { // Gør noget med DLC-dataene } }

BIsAppInstalled

bool BIsAppInstalled( AppId_t appID );
NavnTypeBeskrivelse
appIDAppId_tApp-ID'et for applikationen, som skal kontrolleres.

Tjekker, om en specifik app er installeret.

Det kan være, at appen rent faktisk ikke ejes af den aktuelle bruger, men at brugeren har den til overs fra en gratis weekend eller lignende.

Dette fungerer kun for basisapplikationer, ikke Indhold, der kan downloades (DLC). Brug i stedet BIsDlcInstalled til DLC.

Returværdier: bool
true, hvis det angivne app-ID er installeret, ellers false.

BIsCybercafe

bool BIsCybercafe();
Tjekker, om det aktuelle app-ID er til netcaféer.

Returværdier: bool
true hvis licensen er til netcaféer, ellers false.
Forældet – bruges ikke længere.

BIsDlcInstalled

bool BIsDlcInstalled( AppId_t appID );
NavnTypeBeskrivelse
appIDAppId_tApp-ID'et for DLC'et, som skal kontrolleres.

Tjekker, om brugeren ejer et specifikt DLC, og om DLC'et er installeret.

Returværdier: bool
true hvis brugeren ejer DLC'et, og det er installeret, ellers false.

Bemærk: Bør kun bruges til simpel kontrol af klientsiden og er ikke beregnet til at give emner i spillet.

BIsLowViolence

bool BIsLowViolence();
Tjekker, om licensen, som ejes af brugeren, giver depoter med begrænset vold.

Depoter med begrænset vold er nyttige til eksemplarer, der sælges i lande, som har indholdsrestriktioner.

Returværdier: bool
true, hvis licensen, som ejes af brugeren, har depoter med begrænset vold, ellers false.

Se også: Depotmonteringsregler

BIsSubscribed

bool BIsSubscribed();
Tjekker, om den aktive bruger abonnerer på det aktuelle app-ID.

BEMÆRK: Dette vil altid returnere true, hvis du bruger Steam-DRM eller kalder SteamAPI_RestartAppIfNecessary.

Returværdier: bool
true, hvis den aktive bruger ejer det aktuelle app-ID, ellers false.

BIsSubscribedApp

bool BIsSubscribedApp( AppId_t appID );
NavnTypeBeskrivelse
appIDAppId_tApp-ID'et, som skal tjekkes.

Tjekker, om den aktive bruger abonnerer på et angivet app-ID.

Brug kun dette, hvis du har brug for at tjekke ejerskab for et andet spil, som er relateret til dit, for eksempel en demo.

Returværdier: bool
true, hvis den aktive bruger abonnerer på det angivne app-ID, ellers false.

BIsSubscribedFromFamilySharing

bool BIsSubscribedFromFamilySharing();

Tjekker, om den aktive bruger tilgår det aktuelle appID via en midlertidig familiedelt licens, som ejes af en anden bruger.

Hvis du har brug for at finde SteamID'et på den permanente licensejer, skal du bruge GetAppOwner.

Returværdier: bool
true, – hvis den aktive bruger tilgår det aktuelle app-ID via familiedeling, ellers false.

BIsSubscribedFromFreeWeekend

bool BIsSubscribedFromFreeWeekend();

Tjekker, om brugeren abonnerer på det aktuelle app-ID gennem en kampagne med gratis weekend.

Før du bruger denne, bedes du kontakte en teknisk kontoadministrator hos Valve via Steamworks-diskussionssiden for at pakke dem korrekt og sikre din gratis weekend.

Returværdier: bool
true, hvis den aktive bruger abonnerer på det aktuelle app-ID via en gratis weekend, ellers returneres false for alle andre licenstyper.

BIsTimedTrial

bool BIsTimedTrial(uint32* punSecondsAllowed, uint32* punSecondsPlayed);
NavnTypeBeskrivelse
punSecondsAlloweduint32 *Returnerer antal sekunder, den tidsbegrænsede prøveversion vises
punSecondsPlayeduint32 *Returnerer antal sekunder, brugeren har spillet indtil videre

Tjekker, om brugeren abonnerer på det aktuelle app-ID gennem en tidsbegrænset prøveperiode. I så fald returneres true, og den resterende tid, som den tidsbegrænsede prøveversion kan spilles i, vises sammen med den aktuelle tid, brugeren allerede har spillet.

Returværdier: bool
true, hvis den aktive bruger abonnerer på det aktuelle app-ID via en tidsbegrænset prøveversion, ellers returneres false for alle andre licenstyper.

Se også: TimedTrialStatus_t

BIsVACBanned

bool BIsVACBanned();
Tjekker, om brugeren har en VAC-udelukkelse på sin konto.

Returværdier: bool
true, hvis brugeren har en VAC-udelukkelse på sin konto, ellers false.

GetAppBuildId

int GetAppBuildId();
Henter build-ID'et for denne app. Dette kan ændre sig når som helst baseret på backend-opdateringer til spillet.

Returværdier: int
Det nuværende build-ID for denne app. Standardindstillingen er 0, hvis du ikke kører et build downloadet fra Steam.

GetAppInstallDir

uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize );
NavnTypeBeskrivelse
appIDAppId_tApp-ID'et, som der hentes installationsmappe til.
pchFolderchar *Strengens buffer, som mappens sti bliver kopieret til.
cchFolderBufferSizeuint32Størrelsen i bytes på pchFolder-bufferen.

Henter installationsmappen for et specifikt app-ID.

Dette fungerer, selvom applikationen ikke er installeret, baseret på hvor spillet ville blive installeret med standardplaceringen for Steam-biblioteket.

Returværdier: uint32
Returnerer stien til installationsmappen som en streng i bufferen, som gives i pchFolder, og returnerer antallet af bytes, som blev kopieret ind i denne buffer.

GetAppOwner

CSteamID GetAppOwner();
Henter Steam-ID'et på den, der rent faktisk ejer den aktuelle applikation. Dette er ikke nødvendigvis den samme som den aktuelle bruger, hvis brugeren tilgår applikationen via familiedeling.

Returværdier: CSteamID
Den originale ejer af den aktuelle app.

GetAvailableGameLanguages

const char * GetAvailableGameLanguages();
Henter en kommasepareret liste med sprogene, som den aktuelle app understøtter.

Se den fulde liste over sprog, som kan returneres, her: Lokalisering og sprog.

Returværdier: const char *
Returnerer en kommasepareret liste med sprog.

Se også: GetCurrentGameLanguage, ISteamUtils::GetSteamUILanguage

GetCurrentBetaName

bool GetCurrentBetaName( char *pchName, int cchNameBufferSize );
NavnTypeBeskrivelse
pchNamechar *Bufferen, som betaens navn vil blive kopieret ind i.
cchNameBufferSizeintDen samlede størrelse af pchName-bufferen.

Tjekker, om brugeren kører fra en betagren, og henter navnet på grenen, hvis det er tilfældet.

Returværdier: bool
true, hvis brugeren er på en betagren, ellers false.

GetCurrentGameLanguage

const char * GetCurrentGameLanguage();
Henter det aktuelle sprog, som brugeren har angivet.

Dette falder tilbage til brugergrænsefladens sprog på Steam, hvis brugeren ikke udtrykkeligt har valgt et sprog for titlen.

Se den komplette liste over sprog i artiklen om understøttede sprog.

Returværdier: const char *


Se også: GetAvailableGameLanguages, ISteamUtils::GetSteamUILanguage

GetDLCCount

int GetDLCCount();
Henter antallet af DLC-enheder for den aktuelle app.

Dette bruges typisk til at loope gennem hvert enkelt DLC og henter oplysninger om hver enkelt med BGetDLCDataByIndex.

Returværdier: int
Antallet af DLC-emner for den aktuelle app. Bemærk, at denne værdi muligvis ikke kan overstige 64, alt efter hvor mange ikke-ejede DLC-emner brugeren har. Hvis din app har mange DLC-emner, skal du angive din egen interne liste med kendt DLC, som der skal sammenlignes med.

Eksempel:
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 ) { // Gør noget med DLC-dataene } }

GetDlcDownloadProgress

bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal );
NavnTypeBeskrivelse
nAppIDAppId_tApp-ID'et til DLC'et, som skal overvåges.
punBytesDownloadeduint64 *Returnerer antallet af bytes, som er downloadet.
punBytesTotaluint64 *Returnerer den samlede downloadstørrelse i bytes.

Henter downloadstatussen for valgfrit DLC.

Returværdier: bool
true, hvis det angivne DLC eksisterer, og det i øjeblikket er ved at blive downloadet, ellers false.

GetEarliestPurchaseUnixTime

uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID );
NavnTypeBeskrivelse
nAppIDAppId_tApp-ID'et, som der hentes købstidspunkt til.

Henter købstidspunktet for den angivne app i Unix Epoch-format (tid siden 1. januar 1970).

Dette er nyttigt til at belønne brugere baseret på deres oprindelige købsdato.

Returværdier: uint32
Det første købstidspunkt i Unix Epoch-tid (sekunder siden 1. januar 1970).

GetFileDetails

SteamAPICall_t GetFileDetails( const char*pszFileName );
NavnTypeBeskrivelse
pszFileNameconst char*Den absolutte sti og navnet til filen.

Henter asynkront oplysninger om metadata vedrørende en specifik fil i depotmanifestet.

Giver i øjeblikket:
Filstørrelsen i bytes.
Filens SHA1-hash.
Filens flag.

Returværdier: SteamAPICall_t, som skal bruges med et FileDetailsResult_t-kaldsresultat.

GetInstalledDepots

uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots );
NavnTypeBeskrivelse
appIDAppId_tAppen, som der vises depoter for.
pvecDepotsDepotId_t *Et forudallokeret array, som vil blive fyldt med listen over depoter.
cMaxDepotsuint32Det maksimale antal af depoter, som skal hentes, typisk størrelsen af pvecDepots.

Henter en liste over alle installerede depoter for et givent app-ID i tilslutningsrækkefølgen.

Returværdier: uint32
Antallet af depoter, der returneres.

GetLaunchCommandLine

int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
NavnTypeBeskrivelse
pszCommandLinechar *Strengens buffer, som kommandolinjen bliver kopieret til.
cubCommandLine intStørrelsen i bytes på pszCommandLine-bufferen.

Henter kommandolinjen, hvis spillet blev startet via en Steam-URL, f.eks. steam://run/<appid>//<command line>/. Denne metode er bedst, når man opstarter med en kommandolinje via operativsystemet, hvilket kan være en sikkerhedsrisiko. For at få brugeroversigten til at tilslutte gennem dette og ikke blive placeret i kommandolinjen skal du aktivere "Brug startkommandolinjen" fra siden "Installation" > "Generelt" i din app.

Returværdier: int
Returnerer kommandolinjen som en streng i bufferen, som gives i pszCommandLine, og returnerer antallet af bytes, som blev kopieret ind i denne buffer.

Se også: NewUrlLaunchParameters_t

GetLaunchQueryParam

const char * GetLaunchQueryParam( const char *pchKey );
NavnTypeBeskrivelse
pchKeyconst char *Startnøglen, som der testes. Eks.: param1

Henter de tilknyttede startparametre, hvis spillet kører via steam://run/<appid>/?param1=value1;param2=value2;param3=value3 osv.

Parameternavne, som starter med tegnet "@", er reserveret til intern brug og vil altid returnere en tom streng.
Parameternavne, som starter med en understregning "_", er reserveret til Steam-funktioner. De kan forespørges af spillet, men det anbefales, at du ikke bruger parameternavne, som begynder med en understregning, til dine egne funktioner.

Returværdier: const char *
Værdien tilknyttet den givne nøgle. Returnerer en tom streng (""), hvis den angivne nøgle ikke findes.

Se også: NewLaunchQueryParameters_t

InstallDLC

void InstallDLC( AppId_t nAppID );
NavnTypeBeskrivelse
nAppIDAppId_tDLC'et, du ønsker at installere.

Gør det muligt for dig at installere valgfrit DLC.

Returværdier: void

Udløser et DlcInstalled_t-tilbagekald.

MarkContentCorrupt

bool MarkContentCorrupt( bool bMissingFilesOnly );
NavnTypeBeskrivelse
bMissingFilesOnlyboolScan kun efter manglende filer, og bekræft ikke "checksum" for hver fil.

Gør det muligt for dig at gennemtvinge bekræftelse af spilindhold ved næste opstart.

Hvis du opdager, at spillet er forældet (for eksempel ved at klienten registrerer en uoverensstemmelse mellem en version og en server),
kan du bruge MarkContentCorrup til at gennemtvinge en bekræftelse, vise en besked til brugeren og derefter afslutte.

Returværdier: bool

RequestAllProofOfPurchaseKeys

void RequestAllProofOfPurchaseKeys();
Forældet.

RequestAppProofOfPurchaseKey

void RequestAppProofOfPurchaseKey( AppId_t nAppID );
NavnTypeBeskrivelse
nAppIDAppId_t

Forældet.

UninstallDLC

void UninstallDLC( AppId_t nAppID );
NavnTypeBeskrivelse
nAppIDAppId_tDLC'et, du ønsker at afinstallere.

Gør det muligt for dig at afinstallere valgfrit DLC.

Tilbagekald

Disse er tilbagekald, som kan aktiveres ved at kalde SteamAPI_RunCallbacks. Mange af disse vil blive udløst direkte som svar på medlemsfunktioner tilhørende ISteamApps.

AppProofOfPurchaseKeyResponse_t

Bruges kun internt i Steam.

NavnTypeBeskrivelse
m_eResultEResult
m_nAppIDuint32
m_cchKeyLengthuint32
m_rgchKeychar[k_cubAppProofOfPurchaseKeyMax

DlcInstalled_t

Udløses, når den aktuelle bruger får ejerskab over DLC'et, og dette DLC er installeret.

NavnTypeBeskrivelse
m_nAppIDAppId_tApp-ID'et tilhørende DLC'et, som blev installeret.

Tilknyttede funktioner: InstallDLC

FileDetailsResult_t

Kaldes efter anmodning om oplysninger til en specifik fil.

NavnTypeBeskrivelse
m_eResultEResultLykkedes kaldet? k_EResultOK, hvis det lykkedes, og ellers k_EResultFileNotFound, hvis filen ikke blev fundet. Ingen af de andre felter udfyldes, hvis kaldet ikke blev gennemført.
m_ulFileSizeuint64Den oprindelige filstørrelse i bytes.
m_FileSHAuint8[20]Den oprindelige SHA1-hashfil.
m_unFlagsuint32

Tilknyttede funktioner: GetFileDetails

NewUrlLaunchParameters_t

Sendes, når brugeren har udført en Steam-URL med kommandolinje- eller forespørgselsparametre såsom steam://run/<appid>//?param1=value1;param2=value2;param3=value3;, mens spillet allerede kører. De nye parametre kan forespørges med GetLaunchCommandLine og GetLaunchQueryParam.

Dette tilbagekald har ingen felter.

NewLaunchQueryParameters_t

Sendes, når brugeren har udført en Steam-URL med forespørgselsparametre såsom steam://run/<appid>//?param1=value1;param2=value2;param3=value3;, mens spillet allerede kører. De nye parametre kan forespørges med
GetLaunchQueryParam.

Dette tilbagekald har ingen felter.

RegisterActivationCodeResponse_t

Bruges kun internt i Steam.

NavnTypeBeskrivelse
m_eResultERegisterActivationCodeResult
m_unPackageRegistereduint32

TimedTrialStatus_t

Sendes hvert minut, når et app-ID ejes via en tidsbegrænset prøveversion.

NavnTypeBeskrivelse
m_unAppIDAppId_tApp-ID'et i en tidsbegrænset prøveversion.
m_bIsOfflineboolHvis true, er brugeren offline i øjeblikket. Tilladt/spillet tid henviser til offlinetid, ikke samlet tid.
m_unSecondsAlloweduint32Hvor mange sekunder appen kan spilles i alt.
m_unSecondsPlayeduint32Hvor mange sekunder appen allerede er blevet spillet.

Se også: BIsTimedTrial

Enums

Disse er optællinger, som defineres til brug med ISteamApps.

ERegisterActivationCodeResult

Bruges kun internt i Steam.

NavnVærdiBeskrivelse
k_ERegisterActivationCodeResultOK0
k_ERegisterActivationCodeResultFail1
k_ERegisterActivationCodeResultAlreadyRegistered2
k_ERegisterActivationCodeResultTimeout3
k_ERegisterActivationCodeAlreadyOwned4

Konstanter

Det følgende er konstanter, som defineres til brug med ISteamApps.

NavnTypeVærdiBeskrivelse
k_cubAppProofOfPurchaseKeyMaxint240Bruges kun internt i Steam.
STEAMAPPS_INTERFACE_VERSIONconst char *"STEAMAPPS_INTERFACE_VERSION008"