Documentazione di Steamworks
steam_api.h
Fornisce le funzionalità chiave per inizializzare l'API di Steamworks e accedervi.

Tutti i tipi qui elencati sono definizioni globali e non sono associate ad API specifiche.

Funzioni


Queste sono funzioni globali che non richiedono un'interfaccia per essere impostate. Ulteriori informazioni su queste funzioni sono disponibili qui: Panoramica sull'API di Steamworks.

SteamAPI_Init

S_API bool S_CALLTYPE SteamAPI_Init();
Avvia l'API di Steamworks.

Per ulteriori informazioni, vedi Inizializzazione e arresto.

Restituisce: bool
true indica che tutte le interfacce richieste sono state acquisite e sono accessibili.
false indica una delle seguente condizioni:
  • Il client di Steam non è in esecuzione. Per l'implementazione delle varie interfacce di Steamworks è necessario che sia presente un client di Steam in esecuzione.
  • Il client di Steam non è riuscito a determinare l'appID del gioco. Se stai eseguendo la tua applicazione direttamente dall'eseguibile o dal debugger, devi avere un file steam_appid.txt vicino all'eseguibile nella directory del gioco. Il file deve contenere solamente l'appID del gioco. Steam cercherà questo file nella directory di lavoro attuale. Se stai lanciando l'eseguibile da una directory diversa, potresti dover spostare il file steam_appid.txt.
  • La tua applicazione è in esecuzione in un contesto utente del sistema operativo diverso del client di Steam (ad esempio un utente diverso o diversi livelli di permesso).
  • Assicurati di avere una licenza per l'appID sull'account di Steam attualmente attivo. Il tuo gioco deve apparire sulla tua Libreria di Steam.
  • Il tuo appID non è interamente configurato. Ad esempio Stato di rilascio: non disponibile o mancano dei pacchetti predefiniti.

Esempio:
int main() { if ( SteamAPI_RestartAppIfNecessary( k_uAppIdInvalid ) ) // Sostituisci con il tuo appID { return 1; } if ( !SteamAPI_Init() ) { printf( "Fatal Error - Steam must be running to play this game (SteamAPI_Init() failed).\n" ); return 1; } return 0; }

SteamAPI_ReleaseCurrentThreadMemory

S_API void S_CALLTYPE SteamAPI_ReleaseCurrentThreadMemory();
Libera la memoria interna dell'API di Steamworks associate al processo che ha effettuato la chiamata.

La maggior parte delle funzioni dell'API di Steamworks riserva per i suoi parametri un piccolo ammontare di memoria dei processi locali. Questa chiamata libererà quella memoria. Questa funzione viene chiamata automaticamente da SteamAPI_RunCallbacks, quindi un programma che accede all'API di Steamworks da un singolo processo non dovrà mai chiamarla esplicitamente.

SteamAPI_RestartAppIfNecessary

S_API bool S_CALLTYPE SteamAPI_RestartAppIfNecessary( uint32 unOwnAppID );
NomeTipoDescrizione
unOwnAppIDuint32L'appID di questo titolo.

Verifica se l'eseguibile è stato lanciato tramite Steam. Se non lo è stato, lo lancia tramite Steam.

Per ulteriori informazioni, vedi Inizializzazione e arresto.

Restituisce: bool
Se viene restituito true, si avvierà il client di Steam, se necessario, e il tuo gioco sarà lanciato nuovamente attraverso di esso. Arresta il tuo processo il più presto possibile. Questa funzione esegue steam://run/<AppId> e potrebbe non lanciare nuovamente lo stesso eseguibile che ha eseguito la chiamata, poiché lancerà la versione installata nella tua cartella della Libreria di Steam.

In caso contrario, se viene restituito false, il tuo gioco è stato lanciato tramite il client di Steam e non sono necessarie ulteriori azioni. L'unica eccezione si verifica qualora sia presente un file steam_appid.txt. In questo caso, verrà sempre restituito false. Ciò ti permette di sviluppare e testare senza dover lanciare il tuo gioco tramite il client di Steam. Assicurati di rimuovere il file steam_appid.txt quando carichi il gioco sul tuo depot di Steam!

Esempio:
int main() { if ( SteamAPI_RestartAppIfNecessary( k_uAppIdInvalid ) ) // Sostituisci con il tuo appID { return 1; } if ( !SteamAPI_Init() ) { printf( "Fatal Error - Steam must be running to play this game (SteamAPI_Init() failed).\n" ); return 1; } return 0; }

SteamAPI_RunCallbacks

S_API void S_CALLTYPE SteamAPI_RunCallbacks();
Distribuisce callback e risultati di chiamata a tutti gli ascoltatori registrati.

È bene effettuare questa chiamata a >10Hz, poiché maggiore è l'intervallo di tempo tra le chiamate, maggiore sarà la potenziale latenza fra gli eventi o i risultati ottenuti dall'API di Steamworks. La maggior parte dei giochi effettua questa chiamata una volta per ogni frame renderizzato. Tutte funzioni registrate in ascolto saranno invocate durante questa chiamata, nel contesto dei processi del caller.

SteamAPI_RunCallbacks può essere chiamata in sicurezza da diversi processi contemporaneamente ma, se decidi di farlo, il codice della callback potrebbe essere eseguito su uno qualunque dei processi. In alternativa, puoi chiamare SteamAPI_RunCallbacks solo dal processo principale e chiamare regolarmente SteamAPI_ReleaseCurrentThreadMemory sugli altri processi.

SteamAPI_SetMiniDumpComment

S_API void S_CALLTYPE SteamAPI_SetMiniDumpComment( const char *pchMsg );
NomeTipoDescrizione
pchMsgconst char *Il messaggio da allegare al mini-dump. Deve terminare con NULL.

Allega un commento arbitrario da incorporare nel mini-dump.

Alcuni esempi che potresti volere includere sono: quale livello stava giocando l'utente, quanti giocatori sono presenti sul server, quanta memoria è disponibile, ecc.
Questa chiamata va effettuata prima di quella a SteamAPI_WriteMiniDump.
NOTE: funziona solo su Windows a 32 bit!

SteamAPI_Shutdown

S_API void S_CALLTYPE SteamAPI_Shutdown();
Arresta l'API di Steamworks, rilascia i puntatori e libera la memoria.

Se possibile, questa chiamata dovrebbe essere effettuata mentre il processo viene arrestato.

Farlo non libererà l'Overlay di Steam dal tuo gioco, poiché non è possibile sapere se l'API di rendering ha finito di usarlo.

SteamAPI_WriteMiniDump

S_API void S_CALLTYPE SteamAPI_WriteMiniDump( uint32 uStructuredExceptionCode, void* pvExceptionInfo, uint32 uBuildID );
NomeTipoDescrizione
uStructuredExceptionCodeuint32Il codice di eccezione strutturato.
pvExceptionInfovoid*Gli EXCEPTION_POINTERS che contengono le informazioni di eccezione effettive.
uBuildIDuint32Un ID di una build per rilevare quale versione dell'app ha inviato questo mini-dump. Non sarà lo stesso ID di build di Steam e viene usato solo per segnalare crash.

Scrive e carica un mini-dump per segnalare crash.

Consulta Segnalazione degli errori di Steam per maggiori informazioni.

Puoi aggiungere un commento opzionale chiamando SteamAPI_SetMiniDumpComment prima di chiamare questa funzione.
NOTE: supportato solo su Windows a 32 bit.

Esempio:
#ifdef _WIN32 #include <Windows.h> void MiniDumpFunction( unsigned int nExceptionCode, EXCEPTION_POINTERS *pException ) { // Qui puoi costruire e impostare un commento arbitrario da incorporare nel mini-dump, // potresti voler inserire in quale livello si trovava il giocatore, quanti giocatori erano presenti sul server // quanta memoria è disponibile, ecc... SteamAPI_SetMiniDumpComment( "Minidump comment: SteamworksExample.exe/n" ); // Lo 0 qui è un ID di build, non è impostato da noi SteamAPI_WriteMiniDump( nExceptionCode, pException, 0 ); } int RealMain( HINSTANCE hInstance, LPSTR lpCmdLine, int nCmdShow ) { __debugbreak(); return 0; } int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // L'unica cosa che facciamo qui è chiamare la vera funzione principale dopo aver impostato il nostro traduttore // ciò ci consente di rilevare le eccezioni e segnalare gli errori a Steam. // // Ricorda che devi impostare correttamente i tuoi contrassegni del compilatore per abilitare la gestione di eccezioni strutturate // per far sì che questo metodo funzioni. if ( IsDebuggerPresent() ) { // Quando effettuiamo il debug, non vogliamo mascherare le eccezioni (e non vogliamo segnalarle a Steam!). // Se vuoi analizzare l'handler delle eccezioni, allega un debugger // dopo aver eseguito il gioco al di fuori del debugger. return RealMain( lpCmdLine, hInstance, nCmdShow ); } _set_se_translator( MiniDumpFunction ); try // questo tentativo blocca il traduttore SE dal funzionare { return RealMain( hInstance, lpCmdLine, nCmdShow ); } catch( ... ) { return -1; } } #endif

Strutture

Queste sono strutture con cui steam_api può interagire o che può restituire.

CGameID

L'identificatore unico globale per i giochi di Steam.

CSteamID

L'identificatore unico globale per tutti gli account di Steam, i gruppi di Steam, le lobby e le chat.
Vedi EAccountType e EUniverse.

Enum

Queste sono le enumerazioni definite per l'utilizzo con steam_api.

EAccountType

Tipi di account di Steam. Usata internamente in CSteamID.

NomeValoreDescrizione
k_EAccountTypeInvalid0Usata per gli ID di Steam non validi.
k_EAccountTypeIndividual1Regolare account da utente.
k_EAccountTypeMultiseat2Account collegato a più postazioni (ad esempio in un cybercafè).
k_EAccountTypeGameServer3Account di un server di gioco persistente (non anonimo).
k_EAccountTypeAnonGameServer4Account di un server di gioco anonimo.
k_EAccountTypePending5In sospeso.
k_EAccountTypeContentServer6Account del server di contenuti interno di Valve.
k_EAccountTypeClan7Gruppo di Steam (clan).
k_EAccountTypeChat8Chat di gruppo o lobby di Steam.
k_EAccountTypeConsoleUser9Finto ID di Steam per account PSN locali su PS3, account Live su 360, ecc.
k_EAccountTypeAnonUser10Account utente anonimo. Usato per creare un account o reimpostare una password.
k_EAccountTypeMax11Non più di 16 elementi in questo campo.

EAppOwnershipFlags

Contrassegni che rappresentano le informazioni sulla proprietà di un appID. Solo per uso interno di Steam.

NomeValoreDescrizione
k_EAppOwnershipFlags_None0x0000Sconosciuto.
k_EAppOwnershipFlags_OwnsLicense0x0001È in possesso di una licenza per questa app.
k_EAppOwnershipFlags_FreeLicense0x0002L'utente non ha effettuato il pagamento per l'app.
k_EAppOwnershipFlags_RegionRestricted0x0004È in possesso dell'app ma non può usarla nella regione corrente.
k_EAppOwnershipFlags_LowViolence0x0008È in possesso solo di una versione a violenza ridotta.
k_EAppOwnershipFlags_InvalidPlatform0x0010L'app non è supportata dalla piattaforma corrente.
k_EAppOwnershipFlags_SharedLicense0x0020La licenza è stata condivisa con un dispositivo autorizzato attraverso la condivisione familiare di Steam.
k_EAppOwnershipFlags_FreeWeekend0x0040Proprietà ottenuta tramite una licenza di un weekend gratis.
k_EAppOwnershipFlags_RetailLicense0x0080È in possesso di una licenza per il gioco (codice prodotto, ecc.). Non più in uso.
k_EAppOwnershipFlags_LicenseLocked0x0100La licenza condivisa è bloccata (già in uso) da un altro utente.
k_EAppOwnershipFlags_LicensePending0x0200È in possesso dell'app, ma la transazione è ancora in sospeso. Non può ancora installarla o giocarci.
k_EAppOwnershipFlags_LicenseExpired0x0400Non è in più possesso dell'app poiché la licenza è scaduta.
k_EAppOwnershipFlags_LicensePermanent0x0800Licenza permanente, non condivisa, non ospite, non derivante da un weekend gratis, ecc.
k_EAppOwnershipFlags_LicenseRecurring0x1000Licenza ricorrente, l'utente effettua pagamenti periodici.
k_EAppOwnershipFlags_LicenseCanceled0x2000Segnalata come annullata, ma potrebbe essere ancora attiva se ricorrente.
k_EAppOwnershipFlags_AutoGrant0x4000La proprietà è basata su un qualunque tipo di licenza automatica.
k_EAppOwnershipFlags_PendingGift0x8000L'utente ha un dono in sospeso da riscattare.
k_EAppOwnershipFlags_RentalNotActivated0x10000Il noleggio non è stato ancora attivato.
k_EAppOwnershipFlags_Rental0x20000A noleggio.
k_EAppOwnershipFlags_SiteLicense0x40000Proviene da un sito di licenze.

EAppReleaseState

Stato di rilascio di un appID. Solo per uso interno di Steam.

NomeValoreDescrizione
k_EAppReleaseState_Unknown0Sconosciuto, impossibile ottenere informazioni sull'applicazione, o non sono disponibili informazioni sulla licenza.
k_EAppReleaseState_Unavailable1Anche se l'utente ne è in possesso, non sono in grado di visualizzare il gioco.
k_EAppReleaseState_Prerelease2Può essere acquistato ed è visibile nella lista dei giochi, nient'altro.
k_EAppReleaseState_PreloadOnly3Il proprietario può scaricare in anticipo l'app, ma non giocarla.
k_EAppReleaseState_Released4L'utente può scaricare l'app e giocarci.

EAppType

Il tipo di appID. Maggiori informazioni sono disponibili su Tipi di applicazioni. Solo per uso interno di Steam.

NomeValoreDescrizione
k_EAppType_Invalid0x000Sconosciuto / non valido.
k_EAppType_Game0x001Titolo giocabile, tipo predefinito.
k_EAppType_Application0x002Applicazione software.
k_EAppType_Tool0x004SDK, editor e server dedicati.
k_EAppType_Demo0x008Demo di gioco.
k_EAppType_Media_DEPRECATED0x010Legacy. Usata per trailer di gioco, che ora sono semplicemente video su internet.
k_EAppType_DLC0x020Contenuto scaricabile.
k_EAppType_Guide0x040Guida al gioco, PDF, ecc.
k_EAppType_Driver0x080Strumento di aggiornamento di driver hardware (ATI, Razor, ecc.).
k_EAppType_Config0x100App nascosta usata per configurare le funzionalità di Steam (zaino, sconti, ecc.).
k_EAppType_Hardware0x200Dispositivo hardware di Steam (Steam Machine, Steam Controller, Steam Link, ecc.).
k_EAppType_Franchise0x400Un hub per le collezioni di diverse app, come film, telefilm, giochi.
k_EAppType_Video0x800Una componente video di un film o un telefilm (come uno speciale, un episodio, un anteprima, un video dietro le quinte, ecc.).
k_EAppType_Plugin0x1000Tipi di plug-in per altre app.
k_EAppType_Music0x2000File musicali.
k_EAppType_Series0x4000App contenitore per serie di video.
k_EAppType_Shortcut0x40000000Una semplice scorciatoia, solo sul lato client.
k_EAppType_DepotOnly0x80000000Temporanea, dato che i depot e le app condividono lo stesso spazio di nomenclatura.

EAuthSessionResponse

Valori di ritorno della callback ValidateAuthTicketResponse_t inviata come risposta a ISteamUser::BeginAuthSession e ISteamGameServer::BeginAuthSession.

NomeValoreDescrizione
k_EAuthSessionResponseOK0Steam ha verificato che l'utente è online e che il ticket è valido e non è stato riutilizzato.
k_EAuthSessionResponseUserNotConnectedToSteam1L'utente in questione non ha effettuato l'accesso a Steam.
k_EAuthSessionResponseNoLicenseOrExpired2L'utente non ha una licenza per quest'appID o il ticket è scaduto.
k_EAuthSessionResponseVACBanned3L'utente ha ricevuto un ban del VAC per questo gioco.
k_EAuthSessionResponseLoggedInElseWhere4L'utente ha effettuato l'accesso da un'altra postazione e la sessione contenente l'istanza di gioco è stata disconnessa.
k_EAuthSessionResponseVACCheckTimedOut5Il VAC non è stato in grado di effettuare la verifica anti-trucchi per questo giocatore.
k_EAuthSessionResponseAuthTicketCanceled6Il ticket è stato annullato dall'emittente.
k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed7Il ticket è stato già usato, non è valido.
k_EAuthSessionResponseAuthTicketInvalid8Questo ticket non proviene da un'istanza utente al momento connessa a Steam.
k_EAuthSessionResponsePublisherIssuedBan9L'utente è stato bandito da questo gioco. Il ban proviene dall'API web e non dal VAC.

EBeginAuthSessionResult

Risultati restituiti da ISteamUser::BeginAuthSession e ISteamGameServer::BeginAuthSession.

NomeValoreDescrizione
k_EBeginAuthSessionResultOK0Il ticket è valido per questo gioco e per questo ID di Steam.
k_EBeginAuthSessionResultInvalidTicket1Il ticket non è valido.
k_EBeginAuthSessionResultDuplicateRequest2Un ticket per questo ID di Steam è stato già inviato.
k_EBeginAuthSessionResultInvalidVersion3Il ticket appartiene a una versione incompatibile dell'interfaccia.
k_EBeginAuthSessionResultGameMismatch4Il ticket non appartiene a questo gioco.
k_EBeginAuthSessionResultExpiredTicket5Il ticket è scaduto.

EBroadcastUploadResult

Il risultato del caricamento della trasmissione da BroadcastUploadStop_t.

NomeValoreDescrizione
k_EBroadcastUploadResultNone0Stato della trasmissione sconosciuto.
k_EBroadcastUploadResultOK1Nessun problema con la trasmissione.
k_EBroadcastUploadResultInitFailed2Avvio della trasmissione non riuscito.
k_EBroadcastUploadResultFrameFailed3Caricamento del riquadro della tramissione non riuscito.
k_EBroadcastUploadResultTimeout4Tempo scaduto per il caricamento della trasmissione.
k_EBroadcastUploadResultBandwidthExceeded5La trasmissione sta inviando troppi dati.
k_EBroadcastUploadResultLowFPS6Gli FPS della trasmissione sono troppo bassi.
k_EBroadcastUploadResultMissingKeyFrames7La trasmissione non sta inviando abbastanza fotogrammi chiave.
k_EBroadcastUploadResultNoConnection8Il client di trasmissione non è riuscito a connettersi al relè.
k_EBroadcastUploadResultRelayFailed9Il relè ha smesso di effettuare il caricamento.
k_EBroadcastUploadResultSettingsChanged10Il client ha modificato le impostazioni della trasmissione.
k_EBroadcastUploadResultMissingAudio11Invio di dati audio da parte del client fallito.
k_EBroadcastUploadResultTooFarBehind12Il client ha impiegato troppo tempo per il caricamento.
k_EBroadcastUploadResultTranscodeBehind13Il server non è riuscito a seguire la transcodifica.

EChatEntryType

Tipi di attività della chat.

Restituiti da ISteamFriends::GetFriendMessage, ISteamFriends::GetClanChatMessage e ISteamMatchmaking::GetLobbyChatEntry.

NomeValoreDescrizione
k_EChatEntryTypeInvalid0Non valido.
k_EChatEntryTypeChatMsg1Un normale messaggio di testo da parte di un altro utente.
k_EChatEntryTypeTyping2L'altro utente sta digitando. Non viene usato in chat con più di due utenti.
k_EChatEntryTypeInviteGame3Invito da parte di un altro utente al gioco in esecuzione dall'utente corrente.
k_EChatEntryTypeEmote4Messaggio di testo con un'emoticon (non più in uso, da trattare come ChatMsg).
k_EChatEntryTypeLeftConversation6Un utente ha lasciato la conversazione (ha chiuso la finestra di chat).
k_EChatEntryTypeEntered7L'utente è entrato nella conversazione. Utilizzato in chat con più di 2 utenti e chat di gruppo.
k_EChatEntryTypeWasKicked8L'utente è stato espulso (dati: ID di Steam dell'utente che ha inflitto l'espulsione).
k_EChatEntryTypeWasBanned9L'utente è stato bandito (dati: l'ID di Steam dell'utente che ha inflitto il ban).
k_EChatEntryTypeDisconnected10L'utente si è disconnesso.
k_EChatEntryTypeHistoricalChat11Un messaggio di chat dalla cronologia dell'utente o un messaggio offline.
k_EChatEntryTypeLinkBlocked14Un link è stato rimosso dal filtro della chat.

EChatRoomEnterResponse

Risposte per l'ingresso in una chat.

NomeValoreDescrizione
k_EChatRoomEnterResponseSuccess1Successo.
k_EChatRoomEnterResponseDoesntExist2La chat non esiste (probabilmente è stata chiusa).
k_EChatRoomEnterResponseNotAllowed3Permesso negato generico. Non hai i permessi per unirti alla chat.
k_EChatRoomEnterResponseFull4La chat ha raggiunto il suo numero di utenti massimo.
k_EChatRoomEnterResponseError5Errore inaspettato.
k_EChatRoomEnterResponseBanned6Sei bandito da questa chat e non puoi unirti.
k_EChatRoomEnterResponseLimited7Non puoi unirti a questa chat perché sei un utente limitato (account senza valore).
k_EChatRoomEnterResponseClanDisabled8Tentativo di unirsi alla chat di un clan quando il clan è bloccato o disabilitato.
k_EChatRoomEnterResponseCommunityBan9Tentativo di unirsi a una chat da parte di un utente con un blocco delle Comunità sul suo account.
k_EChatRoomEnterResponseMemberBlockedYou10Ingresso in chat non riuscito. Un utente già nella chat ha bloccato il tuo accesso.
k_EChatRoomEnterResponseYouBlockedMember11Ingresso in chat non riuscito. Hai bloccato un utente già presente nella chat.
k_EChatRoomEnterResponseRatelimitExceeded15Unione non riuscita: troppi tentativi di unione in un periodo di tempo molto breve.

EChatSteamIDInstanceFlags

Contrassegni speciali per gli account nella chat. Si trovano nei primi 8 bit dell'"istanza" dell'ID di Steam. Altri 12 bit sono riservati alle istanze effettive.

NomeValoreDescrizione
k_EChatAccountInstanceMask0x00000FFFI primi 8 bit sono contrassegni.
k_EChatInstanceFlagClan( k_unSteamAccountInstanceMask + 1 ) >> 1L'ID di Steam appartiene a un gruppo di Steam.
k_EChatInstanceFlagLobby( k_unSteamAccountInstanceMask + 1 ) >> 2L'ID di Steam appartiene a una lobby.
k_EChatInstanceFlagMMSLobby( k_unSteamAccountInstanceMask + 1 ) >> 3L'ID di Steam appartiene a una lobby MMS.

EDenyReason

I valori dati quando un client non riesce a unirsi o è stato espulso da un server di gioco. Ottenuti da GSClientDeny_t e GSClientKick_t.

NomeValoreDescrizione
k_EDenyInvalid0Sconosciuto.
k_EDenyInvalidVersion1Il client e il server non sono alla stessa versione.
k_EDenyGeneric2Generico.
k_EDenyNotLoggedOn3Il client non ha effettuato l'accesso.
k_EDenyNoLicense4Il client non ha una licenza per giocare a questo titolo.
k_EDenyCheater5Il client ha ricevuto un ban del VAC.
k_EDenyLoggedInElseWhere6Il client ha effettuato l'accesso su un'altra postazione.
k_EDenyUnknownText7
k_EDenyIncompatibleAnticheat8
k_EDenyMemoryCorruption9
k_EDenyIncompatibleSoftware10
k_EDenySteamConnectionLost11Il server ha perso la connessione a Steam.
k_EDenySteamConnectionError12Il server ha riscontrato un errore generico durante la connessione a Steam.
k_EDenySteamResponseTimedOut13Il tempo a disposizione del server per connettersi a Steam è scaduto.
k_EDenySteamValidationStalled14Il client non è stato ancora autenticato da Steam.
k_EDenySteamOwnerLeftGuestUser15Il proprietario del gioco condiviso è uscito. Viene chiamata per ogni ospite del proprietario.

EGameIDType

Utilizzata per descrivere il tipo di CGameID.

NomeValoreDescrizione
k_EGameIDTypeApp0L'ID del gioco è una normale app di Steam.
k_EGameIDTypeGameMod1L'ID di gioco è un mod.
k_EGameIDTypeShortcut2L'ID di gioco è una scorciatoia.
k_EGameIDTypeP2P3L'ID di gioco è un file P2P.

ELaunchOptionType

Codici per opzioni di lancio ben definite. Corrisponde a "Launch Type" nelle opzioni di lancio dell'applicazione, che possono essere consultate alla pagina Impostazioni generali di installazione.

La funzione speciale BIsVRLaunchOptionType si può usare per verificare se il tipo è una delle opzioni di lancio VR.

NomeValoreDescrizione
k_ELaunchOptionType_None0Non specificato.
k_ELaunchOptionType_Default1Esegue l'app in modalità predefinita.
k_ELaunchOptionType_SafeMode2Esegue il gioco in modalità sicura.
k_ELaunchOptionType_Multiplayer3Esegue il gioco in modalità multigiocatore.
k_ELaunchOptionType_Config4Esegue lo strumento di configurazione per questo gioco.
k_ELaunchOptionType_OpenVR5Esegue il gioco in modalità VR utilizzando OpenVR.
k_ELaunchOptionType_Server6Esegue il server dedicato per questo gioco.
k_ELaunchOptionType_Editor7Esegue l'editor del gioco.
k_ELaunchOptionType_Manual8Mostra il manuale di gioco.
k_ELaunchOptionType_Benchmark9Esegue il benchmark del gioco.
k_ELaunchOptionType_Option110Opzione di esecuzione generica, usa il campo della descrizione per il titolo del gioco.
k_ELaunchOptionType_Option211Opzione di esecuzione generica, usa il campo della descrizione per il titolo del gioco.
k_ELaunchOptionType_Option312Opzione di esecuzione generica, usa il campo della descrizione per il titolo del gioco.
k_ELaunchOptionType_OculusVR13Esegue il gioco in modalità VR utilizzando L'SDK di Oculus.
k_ELaunchOptionType_OpenVROverlay14Esegue un'overlay della dashboard di OpenVR.
k_ELaunchOptionType_OSVR15Esegue il gioco in modalità VR utilizzando L'SDK di OSVR.
k_ELaunchOptionType_Dialog1000Mostra la finestra di dialogo con le opzioni di esecuzione.

EMarketingMessageFlags

Contrassegni di messaggi di marketing interni a Steam che modificano il modo in cui un client dovrebbe gestirli.

NomeValoreDescrizione
k_EMarketingMessageFlagsNone0
k_EMarketingMessageFlagsHighPriority1 << 0
k_EMarketingMessageFlagsPlatformWindows1 << 1
k_EMarketingMessageFlagsPlatformMac1 << 2
k_EMarketingMessageFlagsPlatformLinux1 << 3
k_EMarketingMessageFlagsPlatformRestrictions=contrassegni aggregati

ENotificationPosition

Le possibili posizioni in cui l'overlay può fare apparire le notifiche. Utilizzata con ISteamUtils::SetOverlayNotificationPosition.

NomeValoreDescrizione
k_EPositionTopLeft0Nell'angolo in alto a sinistra.
k_EPositionTopRight1Nell'angolo in alto a destra.
k_EPositionBottomLeft2Nell'angolo in basso a sinistra.
k_EPositionBottomRight3Nell'angolo in basso a destra.

EResult

Codici di errore di Steam.

Vengono spesso restituiti da funzioni, callback e risultati di chiamata provenienti sia dall'API di Steamworks che dall'API web. Un'API potrebbe restituire codici Eresult arbitrari. Per vedere cosa potrebbe essere restituito nel contesto di una determinata chiamata API o di una callback, consulta le loro documentazioni specifiche.
Simile al tipo HRESULT di Win32 o l'errno POSIX.

NomeValoreDescrizione
k_EResultOK1Successo.
k_EResultFail2Fallimento generico.
k_EResultNoConnection3Il tuo client di Steam non è connesso al back-end.
k_EResultInvalidPassword5La password/il ticket non sono validi.
k_EResultLoggedInElsewhere6L'utente ha effettuato l'accesso su un'altra postazione.
k_EResultInvalidProtocolVer7La versione del protocollo non è corretta.
k_EResultInvalidParam8Uno dei parametri non è corretto.
k_EResultFileNotFound9Il file non è stato trovato.
k_EResultBusy10Il metodo di chiamata è occupato, nessuna azione effettuata.
k_EResultInvalidState11L'oggetto chiamato si trovava in uno stato non valido.
k_EResultInvalidName12Il nome non era valido.
k_EResultInvalidEmail13L'e-mail non era valida.
k_EResultDuplicateName14Il nome non è unico.
k_EResultAccessDenied15Accesso negato.
k_EResultTimeout16Tempo per l'operazione scaduto.
k_EResultBanned17L'utente è bandito dal VAC2.
k_EResultAccountNotFound18Account non trovato.
k_EResultInvalidSteamID19L'ID di Steam non era valido.
k_EResultServiceUnavailable20Il servizio richiesto non è al momento disponibile.
k_EResultNotLoggedOn21L'utente non ha effettuato l'accesso.
k_EResultPending22La richiesta è in sospeso, potrebbe essere in fase di elaborazione o in attesa di una terza parte.
k_EResultEncryptionFailure23Codifica o decodifica fallite.
k_EResultInsufficientPrivilege24Privilegi insufficienti.
k_EResultLimitExceeded25Limite superato.
k_EResultRevoked26L'accesso è stato revocato (usato per pass ospiti revocati).
k_EResultExpired27La licenza/il pass ospite a cui l'utente sta cercando di accedere è scaduto.
k_EResultAlreadyRedeemed28Il pass ospite è stato già riscattato dall'account e non può essere utilizzato di nuovo.
k_EResultDuplicateRequest29La richiesta è un duplicato e l'azione è già avvenuta in passato. Ignora questa volta.
k_EResultAlreadyOwned30Tutti i giochi richiesti riscattando questo pass ospite sono già in possesso dell'utente.
k_EResultIPNotFound31Indirizzo IP non trovato.
k_EResultPersistFailed32Impossibile scrivere la modifica nell'archivio dei dati.
k_EResultLockingFailed33Impossibile acquisire il blocco all'accesso per questa operazione.
k_EResultLogonSessionReplaced34La sessione di accesso è stata sostituita.
k_EResultConnectFailed35Impossibile connettersi.
k_EResultHandshakeFailed36L'handshake di autenticazione è fallito.
k_EResultIOFailure37Fallimento generico in entrata o in uscita.
k_EResultRemoteDisconnect38Il server remoto si è disconnesso.
k_EResultShoppingCartNotFound39Impossibile trovare il carrello richiesto.
k_EResultBlocked40Un utente ha bloccato l'azione.
k_EResultIgnored41Il destinatario sta ignorando il mittente.
k_EResultNoMatch42Nessuna corrispondenza con la richiesta.
k_EResultAccountDisabled43L'account è disabilitato.
k_EResultServiceReadOnly44Questo servizio al momento non accetta cambi nel contenuto.
k_EResultAccountNotFeatured45L'account non ha valore, quindi questa funzionalità non è disponibile.
k_EResultAdministratorOK46È possibile effettuare questa azione, ma solo perché il richiedente è un amministratore.
k_EResultContentVersion47Mancata corrispondenza del contenuto trasmesso all'interno del protocollo di Steam.
k_EResultTryAnotherCM48La CM corrente non può assecondare la richiesta dell'utente, l'utente dovrebbe provarne un'altra.
k_EResultPasswordRequiredToKickSession49Hai già effettuato l'accesso da un'altra postazione. Accesso con queste credenziali memorizzate fallito.
k_EResultAlreadyLoggedInElsewhere50L'utente ha effettuato l'accesso su un'altra postazione. Usa k_EResultLoggedInElsewhere invece!
k_EResultSuspended51Un'operazione dalla lunga durata è stata sospesa/messa in pausa (ad esempio il download dei contenuti).
k_EResultCancelled52L'operazione è stata annullata, di solito dall'utente (ad esempio il download dei contenuti).
k_EResultDataCorruption53Operazione annullata: i dati sono corrotti o impossibili da recuperare.
k_EResultDiskFull54Operazione annullata: spazio sul disco insufficiente.
k_EResultRemoteCallFailed55Chiamata remota o IPC fallite.
k_EResultPasswordUnset56La password non è impostata sul lato server, impossibile verificarla.
k_EResultExternalAccountUnlinked57L'account esterno (PSN, Facebook, ecc.) non è connesso a un account di Steam.
k_EResultPSNTicketInvalid58Ticket PSN non valido.
k_EResultExternalAccountAlreadyLinked59L'account esterno (PSN, Facebook, ecc.) è già connesso a un altro account. È necessario prima richiedere esplicitamente di rimpiazzare/annullare la connessione.
k_EResultRemoteFileConflict60Impossibile riprendere la sincronizzazione: conflitto tra i file locali e quelli remoti.
k_EResultIllegalPassword61La nuova password richiesta non è consentita.
k_EResultSameAsPreviousValue62Il nuovo valore è uguale a quello precedente. Usato per la domanda segreta e la relativa risposta.
k_EResultAccountLogonDenied63Accesso negato: autenticazione in due passaggi non riuscita.
k_EResultCannotUseOldPassword64La nuova password richiesta non è legale.
k_EResultInvalidLoginAuthCode65Accesso negato: il codice di autenticazione non è valido.
k_EResultAccountLogonDeniedNoMail66Accesso negato: autenticazione in due passaggi non riuscita e non è stata inviata una e-mail.
k_EResultHardwareNotCapableOfIPT67L'hardware dell'utente non supporta la tecnologia di protezione dell'identità di Intel (IPT).
k_EResultIPTInitError68Errore nell'avvio della tecnologia di protezione dell'identità di Intel (IPT).
k_EResultParentalControlRestricted69Operazione fallita per via di restrizioni del controllo familiare per l'utente corrente.
k_EResultFacebookQueryError70La richiesta di Facebook ha restituito un errore.
k_EResultExpiredLoginAuthCode71Accesso all'account negato: codice di autorizzazione scaduto.
k_EResultIPLoginRestrictionFailed72Accesso non riuscito per via di un restrizione all'indirizzo IP.
k_EResultAccountLockedDown73L'account dell'utente corrente al momento è bloccato dall'uso. La probabile causa è un furto di account e la relativa verifica di proprietà in sospeso.
k_EResultAccountLogonDeniedVerifiedEmailRequired74Accesso fallito: l'e-mail collegata all'account non è stata verificata.
k_EResultNoMatchingURL75Nessun URL corrisponde ai valori forniti.
k_EResultBadResponse76Risposta non valida a causa di un fallimento nell'analisi, un campo mancante, ecc.
k_EResultRequirePasswordReEntry77L'utente non può completare l'operazione finché non reimmette la sua password.
k_EResultValueOutOfRange78Il valore inserito è al di fuori dell'intervallo accettabile.
k_EResultUnexpectedError79È successo qualcosa che non pensavamo sarebbe mai successo.
k_EResultDisabled80Il servizio richiesto è stato configurato in modo tale da non essere disponibile.
k_EResultInvalidCEGSubmission81I file inviati al server CEG non sono validi.
k_EResultRestrictedDevice82Al dispositivo in uso non è consentito effettuare questa azione.
k_EResultRegionLocked83Impossibile completare l'azione: uso ristretto nella regione.
k_EResultRateLimitExceeded84Superato il limite temporaneo di banda, ritenta più tardi. Diverso da k_EResultLimitExceeded, che potrebbe essere permanente.
k_EResultAccountLoginDeniedNeedTwoFactor85Per effettuare l'accesso è necessaria l'autenticazione a due passaggi.
k_EResultItemDeleted86L'elemento a cui stiamo cercando di accedere è stato eliminato.
k_EResultAccountLoginDeniedThrottle87Tentativo di accesso non riuscito, prova a inviare la risposta a un possibile hacker.
k_EResultTwoFactorCodeMismatch88Codice di autenticazione a due passaggi (Steam Guard) incorretto.
k_EResultTwoFactorActivationCodeMismatch89Il codice di attivazione per l'autenticazione a due passaggi (Steam Guard) non corrisponde.
k_EResultAccountAssociatedToMultiplePartners90L'account corrente è stato associato a più partner.
k_EResultNotModified91I dati non sono stati modificati.
k_EResultNoMobileDevice92L'account non ha un dispositivo mobile associato.
k_EResultTimeNotSynced93L'orario presentato è al di fuori dell'intervallo consentito.
k_EResultSmsCodeFailed94Codice SMS fallito: nessuna corrispondenza, nessuna in sospeso, ecc.
k_EResultAccountLimitExceeded95Troppi account accedono a questa risorsa.
k_EResultAccountActivityLimitExceeded96Troppi cambiamenti a questo account.
k_EResultPhoneActivityLimitExceeded97Troppi cambiamenti a questo telefono.
k_EResultRefundToWallet98Impossibile effettuare il rimborso sul metodo di pagamento, va usato il Portafoglio.
k_EResultEmailSendFailure99Impossibile inviare un'e-mail.
k_EResultNotSettled100Impossibile eseguire l'operazione fino alla conferma del pagamento.
k_EResultNeedCaptcha101L'utente deve immettere un captcha valido.
k_EResultGSLTDenied102Un token di accesso al server di gioco in possesso dell'proprietario di questo token è stato bandito.
k_EResultGSOwnerDenied103Il proprietario del server di gioco non è consentito per altre ragioni, come un blocco dell'account, un ban della Comunità, un ban del VAC, un numero di telefono mancante, ecc.
k_EResultInvalidItemType104Il tipo di elemento su cui ci è stato richiesto di operare non è valido.
k_EResultIPBanned105L'indirizzo IP è stato bandito dall'eseguire questa azione.
k_EResultGSLTExpired106Questo token per l'accesso al server di gioco (GSLT) è scaduto per inutilizzo. Può essere reimpostato per l'utilizzo.
k_EResultInsufficientFunds107L'utente non ha abbastanza fondi nel Portafoglio per completare questa operazione.
k_EResultTooManyPending108Ci sono già troppi elementi in sospeso.

ESteamUserStatType

Campi usati internamente per memorizzare statistiche degli utenti.

NomeValoreDescrizione
k_ESteamUserStatTypeINVALID0Non valida.
k_ESteamUserStatTypeINT1Statistica intera a 32 bit.
k_ESteamUserStatTypeFLOAT2Statistica a virgola mobile a 32 bit.
k_ESteamUserStatTypeAVGRATE3Leggi come a virgola mobile, imposta con lunghezza o conteggio delle sessioni.
k_ESteamUserStatTypeACHIEVEMENTS4Normale achievement dell'utente.
k_ESteamUserStatTypeGROUPACHIEVEMENTS5Non più in uso.
k_ESteamUserStatTypeMAX6Numero totale dei tipi di statistiche dell'utente, utilizzato per verifiche di correttezza.

ETextFilteringContext

Parametro per ISteamUtils::FilterText.

NomeValoreDescrizione
k_ETextFilteringContextUnknown0Contesto sconosciuto.
k_ETextFilteringContextGameContent1Contenuto di gioco. Viene eseguito solo il filtraggio richiesto legalmente.
k_ETextFilteringContextChat2Chat da un altro giocatore.
k_ETextFilteringContextName3Nome del personaggio o dell'oggetto.

EUniverse

Universi di Steam. Ogni universo è un'istanza di Steam autocontenuta.

NomeValoreDescrizione
k_EUniverseInvalid0Non valido.
k_EUniversePublic1L'universo pubblico standard.
k_EUniverseBeta2Universo beta utilizzato internamente da Valve.
k_EUniverseInternal3Universo interno utilizzato internamente da Valve.
k_EUniverseDev4Universo da sviluppatore utilizzato internamente da Valve.
k_EUniverseMax5Numero totale degli universi, utilizzato per verifiche di correttezza.

EUserHasLicenseForAppResult

Risultato di ISteamUser::UserHasLicenseForApp.

NomeValoreDescrizione
k_EUserHasLicenseResultHasLicense0L'utente ha una licenza per l'applicazione specificata.
k_EUserHasLicenseResultDoesNotHaveLicense1L'utente non ha una licenza per l'app specificata.
k_EUserHasLicenseResultNoAuth2L'utente non è stato autenticato.

EVoiceResult

Risultati da utilizzare con le funzioni Steam Voice.

NomeValoreDescrizione
k_EVoiceResultOK0La chiamata è stata completata con successo.
k_EVoiceResultNotInitialized1L'interfaccia della chat vocale di Steam non è stata avviata.
k_EVoiceResultNotRecording2La chat vocale di Steam non sta registrando.
k_EVoiceResultNoData3Nessun dato sulla chat vocale disponibile.
k_EVoiceResultBufferTooSmall4Il buffer fornito è troppo piccolo per ricevere i dati.
k_EVoiceResultDataCorrupted5I dati sulla chat vocale sono stati corrotti.
k_EVoiceResultRestricted6All'utente non è consentito accedere alla chat.
k_EVoiceResultUnsupportedCodec7Non più in uso.
k_EVoiceResultReceiverOutOfDate8Non più in uso.
k_EVoiceResultReceiverDidNotAnswer9Non più in uso.

EVRHMDType

Punti di codice per modelli e distributori di visori VR. Per cercare un marchio specifico utilizza le funzioni speciali BIsOculusHMD e BIsViveHMD.

NomeValoreDescrizione
k_eEVRHMDType_None-1Produttore e modello sconosciuti.
k_eEVRHMDType_Unknown0Produttore e modello sconosciuti.
k_eEVRHMDType_HTC_Dev1Kit da sviluppatore HTC originale.
k_eEVRHMDType_HTC_VivePre2Kit da sviluppatore HTC Vive Pro.
k_eEVRHMDType_HTC_Vive3Versione per il cliente di HTC Vive.
k_eEVRHMDType_HTC_Unknown20Visore HTC sconosciuto.
k_eEVRHMDType_Oculus_DK121Kit da sviluppatore Oculus Rift 1.
k_eEVRHMDType_Oculus_DK222Kit da sviluppatore Oculus Rift 2.
k_eEVRHMDType_Oculus_Rift23Versione per il cliente di Oculus Rift 1.
k_eEVRHMDType_Oculus_Unknown40Visore Oculus sconosciuto.

Typedefs

Queste sono le definizioni del tipo definite per l'utilizzo con steam_api.

NomeTipo baseDescrizione
AccountID_tuint32Utilizzata internamente in CSteamID per rappresentare uno specifico account utente, senza considerare di quale universo di Steam faccia parte.
AppId_tuint32Identificatore unico per un'app. Per ulteriori informazioni consulta la documentazione Applicazioni.
AssetClassId_tuint64Per uso interno di Steam.
BREAKPAD_HANDLEvoid *Utilizzato dalle interfacce degli handler dei crash interne di Steam per fare riferimento a specifici handler di crash installati.
BundleId_tuint32Identificatore unico per un bundle. Solo per uso interno di Steam.
CellID_tuint32Solo per uso interno di Steam.
DepotId_tuint32Identificatore unico per un depot.
GID_tuint64Solo per uso interno di Steam.
HAuthTicketuint32Handle per un ticket di autenticazione dell'utente. Tipo restituito da ISteamUser::GetAuthSessionTicket.
int16shortLa versione di Steam di un integrale a 16 bit, equivalente a int16_t.
int32intLa versione di Steam di un integrale a 32 bit, equivalente a int32_t.
int64long longLa versione di Steam di un integrale a 64 bit, equivalente a int64_t.
int8signed charLa versione di Steam di un integrale a 8 bit, equivalente a int8_t.
intpint/long longLa versione di Steam di un tipo che può contenere un puntatore, equivalente a intptr_t. Solo per uso interno di Steam.
JobID_tuint64Solo per uso interno di Steam.
lint64long intSolo per uso interno di Steam.
ManifestId_tuint64Solo per uso interno di Steam.
PackageId_tuint32Solo per uso interno di Steam.
PartnerId_tuint32Solo per uso interno di Steam.
PhysicalItemId_tuint32Solo per uso interno di Steam.
RTime32uint32La versione di Steam dell'orario in formato epoch Unix. Offre una risoluzione di 1 secondo a partire dall'epoch, 1970-01-01 00:00:00 +0000 (UTC).
SteamAPICall_tuint64Handle unico a una chiamata all'API di Steam.
Se la funzione ne restituisce uno, dovrai rintracciare il suo stato utilizzando il sistema dei risultati di chiamata.
TxnID_tGID_tSolo per uso interno di Steam.
uint16unsigned shortLa versione di Steam di un integrale non firmato a 16 bit, equivalente a uint16_t.
uint32unsigned intLa versione di Steam di un integrale non firmato a 32 bit, equivalente a uint32_t.
uint64unsigned long longLa versione di Steam di un integrale non firmato a 64 bit, equivalente a uint64_t.
uint8unsigned charLa versione di Steam di un integrale non firmato a 8 bit, equivalente a uint8_t.
uintpunsigned int/unsigned long longLa versione di Steam di un tipo non firmato che può contenere un puntatore, equivalente a uintptr_t. Solo per uso interno di Steam.
ulint64unsigned long intSolo per uso interno di Steam.

Costanti

Queste sono costanti definite per l'uso con steam_api.

NomeTipoValoreDescrizione
BREAKPAD_INVALID_HANDLEint(BREAKPAD_HANDLE)0
k_cchGameExtraInfoMaxint64Le dimensioni massime (in byte UTF-8, incluso il terminatore null) del parametro pchExtraInfo di ISteamUser::TrackAppUsageEvent.
k_cubSaltSizeint8Solo per uso interno di Steam.
k_GIDNilGID_t0xffffffffffffffffullSolo per uso interno di Steam.
k_HAuthTicketInvalidHAuthTicket0Un ticket di autenticazione utente non valido.
k_JobIDNilJobID_t0xffffffffffffffffullSolo per uso interno di Steam.
k_steamIDLanModeGSintCSteamID(L'ID di Steam proviene dalla connessione del gioco dell'utente a un server di gioco sv_lan.
k_steamIDNilintCSteamID()CSteamID generico non valido.
k_steamIDNonSteamGSintCSteamID(L'ID di Steam potrebbe provenire da una connessione del gioco dell'utente a un server di gioco che non utilizza il sistema di autenticazione di Steam ma che vuole lo stesso
supportare l'opzione "Unisciti al gioco" nella lista degli amici.
k_steamIDNotInitYetGSintCSteamID(L'ID di Steam potrebbe provenire da una connessione del gioco dell'utente a un server di gioco che si è appena avviato ma che non ha ancora avviato
la sua componente steam3 e non ha iniziato a effettuare l'accesso.
k_steamIDOutofDateGSintCSteamID(L'ID di Steam proviene da una connessione del gioco dell'utente a un server di gioco non aggiornato che non ha implementato il protocollo per fornire il suo ID di Steam.
k_TxnIDNilGID_tk_GIDNilSolo per uso interno di Steam.
k_TxnIDUnknownGID_t0Solo per uso interno di Steam.
k_uAPICallInvalidSteamAPICall_t0x0Un handle non valido a una chiamata all'API di Steam.
k_uAppIdInvalidAppId_t0x0Un appID non valido.
k_uBundleIdInvalidBundleId_t0Solo per uso interno di Steam.
k_uCellIDInvalidCellID_t0xFFFFFFFFSolo per uso interno di Steam.
k_uDepotIdInvalidDepotId_t0x0Un ID di un depot non valido.
k_ulAssetClassIdInvalidAssetClassId_t0x0Solo per uso interno di Steam.
k_uManifestIdInvalidManifestId_t0Solo per uso interno di Steam.
k_unSteamAccountIDMaskunsigned int0xFFFFFFFFUtilizzato in CSteamID per mascherare AccountID_t.
k_unSteamAccountInstanceMaskunsigned int0x000FFFFFUtilizzato in CSteamID per mascherare l'istanza dell'account.
k_unSteamUserConsoleInstanceunsigned int2Utilizzato da CSteamID per identificare gli utenti che hanno effettuato l'accesso da una console.
k_unSteamUserDesktopInstanceunsigned int1Utilizzato da CSteamID per identificare gli utenti che hanno effettuato l'accesso dal client desktop.
k_unSteamUserWebInstanceunsigned int4Utilizzato da CSteamID per identificare gli utenti che hanno effettuato l'accesso sul web.
k_uPackageIdFreeSubPackageId_t0x0Solo per uso interno di Steam.
k_uPackageIdInvalidPackageId_t0xFFFFFFFFSolo per uso interno di Steam.
k_uPartnerIdInvalidPartnerId_t0Solo per uso interno di Steam.
k_uPhysicalItemIdInvalidPhysicalItemId_t0x0Solo per uso interno di Steam.
QUERY_PORT_ERRORint0xFFFENon siamo stati in grado di ottenere la porta di richiesta per questo server.
QUERY_PORT_NOT_INITIALIZEDint0xFFFF-----------------------------------------------------------------------------
Costanti usate per le porte di richiesta.
-----------------------------------------------------------------------------
Non abbiamo ancora chiesto al server il valore effettivo della porta di richiesta.