Documentación de Steamworks
Interfaz ISteamApps
Expone una amplia variedad de información y acciones para aplicaciones y contenido descargable (DLC).

Funciones miembro

Las funciones miembro para ISteamApps se llaman a través de la función de acceso global SteamApps().

BGetDLCDataByIndex

bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize );
NombreTipoDescripción
iDLCintÍndice del DLC a obtener. Número comprendido entre 0 y GetDLCCount.
pAppIDAppId_t *Devuelve el id. de aplicación del DLC.
pbAvailablebool *Devuelve si el DLC está disponible actualmente en la tienda de Steam. Será "false" si el DLC no tiene una página de la tienda visible.
pchNamechar *Devuelve el nombre del DLC copiándolo en este búfer.
cchNameBufferSizeintLa longitud del búfer asignado para pchName.

Devuelve metadatos del DLC por índice.

Devuelve: bool
true si el id. de la aplicación actual tiene DLC asociados y el valor de iDLC se encuentra entre 0 y GetDLCCount, de lo contrario false.

Ejemplo:
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 ) { // Hacer algo con los datos del DLC } }

BIsAppInstalled

bool BIsAppInstalled( AppId_t appID );
NombreTipoDescripción
appIDAppId_tDevuelve el id. de aplicación que se quiere comprobar.

Comprueba si una aplicación específica está instalada.

La aplicación puede no ser propiedad del usuario actual, ya que puede ser resultado de un fin de semana gratis, etc.

Esto solo funciona para aplicaciones base, no para Contenido descargable (DLC). Utiliza BIsDlcInstalled para DLC en su lugar.

Devuelve: bool
true si el id. de la aplicación especificada está instalado; de lo contrario, false.

BIsCybercafe

bool BIsCybercafe();
Comprueba si el id. de aplicación actual pertenece a un cibercafé.

Devuelve: bool
true si la licencia es para cibercafés, de lo contrario false.
Obsoleto: Ya no se usa.

BIsDlcInstalled

bool BIsDlcInstalled( AppId_t appID );
NombreTipoDescripción
appIDAppId_tDevuelve el id. de aplicación del DLC que se quiere comprobar.

Comprueba si el usuario posee un DLC específico y si este está instalado.

Devuelve: bool
true si el usuario posee el DLC y está instalado actualmente, de lo contrario, false.

Nota: solo se debe utilizar para verificaciones simples del cliente, no para otorgar artículos dentro del juego.

BIsLowViolence

bool BIsLowViolence();
Comprueba si la licencia que posee el usuario proporciona repositorios de violencia reducida.

Los repositorios de violencia reducida sirven para las copias vendidas en países con restricciones de contenido.

Devuelve: bool
true si la licencia que posee el usuario proporciona repositorios de baja violencia; de lo contrario, false.

Véase también: Reglas de montaje de repositorios

BIsSubscribed

bool BIsSubscribed();
Comprueba si el usuario activo está suscrito al id. de aplicación actual.

NOTA: Siempre devuelve true si estás usando DRM de Steam o llamando a SteamAPI_RestartAppIfNecessary.

Devuelve: bool
true si el usuario activo posee el id. de aplicación actual, de lo contrario false.

BIsSubscribedApp

bool BIsSubscribedApp( AppId_t appID );
NombreTipoDescripción
appIDAppId_tId. de aplicación que se quiere comprobar.

Comprueba si el usuario activo está suscrito a un id. de aplicación especificado.

Solo debe utilizarse si se necesita comprobar la posesión de otro juego relacionado con el propio (por ejemplo, una versión demo).

Devuelve: bool
true si el usuario activo está suscrito al id. de la aplicación especificada, de lo contrario, false.

BIsSubscribedFromFamilySharing

bool BIsSubscribedFromFamilySharing();

Comprueba si el usuario activo está accediendo al id. de la aplicación actual a través de una licencia temporal de préstamo familiar que es propiedad de otro usuario.

Si necesitas determinar el id. de Steam del propietario permanente de la licencia, usa GetAppOwner.

Devuelve: bool
true si el usuario activo está accediendo al id. de la aplicación actual a través del préstamo familiar, de lo contrario, false.

BIsSubscribedFromFreeWeekend

bool BIsSubscribedFromFreeWeekend();

Comprueba si el usuario está suscrito al id. de aplicación actual por un fin de semana gratis.

Antes de usar esto, comunícate con un administrador técnico de cuentas de Valve a través de Foro de discusión de Steamworks para crear el paquete correctamente y asegurar tu fin de semana gratis.

Devuelve: bool
true si el usuario activo está suscrito al id. de la aplicación actual a través de un fin de semana gratuito, de lo contrario false para cualquier otro tipo de licencia.

BIsTimedTrial

bool BIsTimedTrial(uint32* punSecondsAllowed, uint32* punSecondsPlayed);
NombreTipoDescripción
punSecondsAlloweduint32 *Devuelve el número de segundos que indicará la prueba de duración limitada.
punSecondsPlayeduint32 *Devuelve el número de segundos que el usuario ha jugado hasta el momento.

Comprueba si el usuario está suscrito al id. de aplicación actual a través de una prueba de duración limitada. Si es así, devuelve true junto con el tiempo total que se puede jugar a la prueba de duración limitada y el tiempo que el usuario ha jugado hasta el momento.

Devuelve: bool
true si el usuario activo está suscrito al id. de aplicación actual a través de una prueba de duración limitada; de lo contrario, false para cualquier otro tipo de licencia.

Véase también: TimedTrialStatus_t

BIsVACBanned

bool BIsVACBanned();
Comprueba si la cuenta del usuario está sujeta a un bloqueo por VAC.

Devuelve: bool
true si el usuario tiene un bloqueo por VAC en su cuenta; de lo contrario, false.

GetAppBuildId

int GetAppBuildId();
Obtiene el id. de compilación de esta aplicación, número que puede variar en cualquier momento en función de las actualizaciones del backend del juego.

Devuelve: int
El id. de compilación actual de esta aplicación. El valor predeterminado es 0 si no estás ejecutando una compilación descargada de Steam.

GetAppInstallDir

uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize );
NombreTipoDescripción
appIDAppId_tId. de la aplicación para la que se quiere obtener el directorio de instalación.
pchFolderchar *Búfer de cadena de texto donde se copia la ruta de la carpeta.
cchFolderBufferSizeuint32El tamaño en bytes del búfer pchFolder.

Obtiene la carpeta de instalación de un id. de aplicación específico.

Funciona aunque la aplicación no esté instalada, en función de dónde se instalaría con la ubicación predeterminada en la biblioteca de Steam.

Devuelve: uint32
Devuelve la ruta del directorio de instalación como una cadena en el búfer proporcionado en pchFolder y devuelve el número de bytes que se copiaron en ese búfer.

GetAppOwner

CSteamID GetAppOwner();
Obtiene el id. de Steam del propietario real de la aplicación actual, que es diferente del usuario actual si se accede a la aplicación a través del préstamo familiar.

Devuelve: CSteamID
El propietario original de la aplicación actual.

GetAvailableGameLanguages

const char * GetAvailableGameLanguages();
Obtiene una lista separada por comas de los idiomas que la aplicación actual admite.

Para obtener la lista completa de idiomas que se pueden devolver, consulta Localización e idiomas.

Devuelve: const char *
Devuelve una lista de idiomas separados por comas.

Véase también: GetCurrentGameLanguage, ISteamUtils::GetSteamUILanguage

GetCurrentBetaName

bool GetCurrentBetaName( char *pchName, int cchNameBufferSize );
NombreTipoDescripción
pchNamechar *Búfer donde se copia el nombre beta.
cchNameBufferSizeintLa longitud total del búfer asignado para pchName.

Comprueba si el usuario está usando una rama beta y, en ese caso, obtiene el nombre de la rama.

Devuelve: bool
true si el usuario está en una rama beta; de lo contrario, false.

GetCurrentGameLanguage

const char * GetCurrentGameLanguage();
Obtiene el idioma que ha establecido el usuario.

Si el usuario no ha elegido explícitamente un idioma para el juego, es el mismo que el de la IU de Steam.

Para ver la lista completa de idiomas, consulta Idiomas disponibles.

Devuelve: const char *


Véase también: GetAvailableGameLanguages, ISteamUtils::GetSteamUILanguage

GetDLCCount

int GetDLCCount();
Obtiene el número de elementos DLC para la aplicación actual.

Normalmente se usa para recorrer los DLC y obtener la información de cada uno de ellos con BGetDLCDataByIndex.

Devuelve: int
El número de DLC de la aplicación actual. Ten en cuenta que este valor puede llegar a un máximo de 64, dependiendo de la cantidad de DLC sin propietario que tenga el usuario. Si tu aplicación tiene una gran cantidad de DLC, debes establecer tu propia lista interna de DLC conocidos para verificar.

Ejemplo:
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 ) { // Hacer algo con los datos del DLC } }

GetDlcDownloadProgress

bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal );
NombreTipoDescripción
nAppIDAppId_tId. de aplicación del DLC que se quiere supervisar.
punBytesDownloadeduint64 *Devuelve el número de bytes descargados.
punBytesTotaluint64 *Devuelve el tamaño total de la descarga en bytes.

Obtiene el progreso de descarga de un DLC opcional.

Devuelve: bool
true si el DLC especificado existe y se está descargando en este momento; de lo contrario, false.

GetEarliestPurchaseUnixTime

uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID );
NombreTipoDescripción
nAppIDAppId_tId. de la aplicación cuya fecha de compra queremos obtener.

Obtiene el momento en que se compró la aplicación especificada en formato de tiempo Unix (tiempo transcurrido desde el 1 de enero de 1970).

Sirve para recompensar a los usuarios en función de la fecha de compra inicial.

Devuelve: uint32
La primera compra en formato de tiempo Unix (segundos desde el 1 de enero de 1970).

GetFileDetails

SteamAPICall_t GetFileDetails( const char*pszFileName );
NombreTipoDescripción
pszFileNameconst char*La ruta absoluta y el nombre del archivo.

Recupera de forma asíncrona detalles sobre los metadatos de un archivo específico en el manifiesto del repositorio.

Actualmente proporciona:
El tamaño del archivo en bytes.
El hash SHA1 del archivo.
Las marcas del archivo.

Devuelve: SteamAPICall_t para usar con el resultado de la llamada a la función FileDetailsResult_t.

GetInstalledDepots

uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots );
NombreTipoDescripción
appIDAppId_tAplicación cuyos repositorios se desean listar.
pvecDepotsDepotId_t *Vector previamente reservado en memoria que se rellenará con una lista de repositorios.
cMaxDepotsuint32Número máximo de repositorios que se obtienen, normalmente el tamaño de pvecDepots.

Obtiene una lista de todos los repositorios instalados para un id. de aplicación dado, en orden de montaje.

Devuelve: uint32
El número de repositorios devueltos.

GetLaunchCommandLine

int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
NombreTipoDescripción
pszCommandLinechar *El búfer de cadena en la que se copiará la línea de comando.
cubCommandLine intEl tamaño en bytes del búfer pszCommandLine.

Obtiene la línea de comandos si el juego se lanzó a través del URL de Steam, por ejemplo: steam://run/<appid>//<command line>/. Se recomienda usar este método en vez de lanzar el juego desde la línea de comandos a través del sistema operativo, ya que puede ser un riesgo de seguridad. Para que la función de presencia enriquecida funcione con este método y no se coloque en la línea de comandos del sistema operativo, debes habilitar "Iniciar línea de comandos" desde la página de Instalación > General, de tu aplicación.

Devuelve: int
Devuelve la línea de comandos como una cadena en el búfer proporcionado en pszCommandLine y devuelve el número de bytes que se copiaron en ese búfer.

Véase también: NewUrlLaunchParameters_t

GetLaunchQueryParam

const char * GetLaunchQueryParam( const char *pchKey );
NombreTipoDescripción
pchKeyconst char *La clave de lanzamiento que se quiere probar. Ej.: param1

Obtiene el parámetro de inicio asociado si el juego se ejecuta mediante Steam://run/<appid>/?param1=value1;param2=value2;param3=value3, etc.

Los nombres de los parámetros que comienzan con el carácter "@" están reservados para uso interno y siempre devuelven una cadena vacía.
Los nombres de los parámetros que comienzan con un guion bajo "_" están reservados para las funciones de Steam: el juego puede usarlos en sus consultas, pero te recomendamos que no empieces con guion bajo los nombres de los parámetros de tus propias funciones.

Devuelve: const char *
El valor asociado a la clave proporcionada. Devuelve una cadena vacía ("") si la clave especificada no existe.

Véase también: NewLaunchQueryParameters_t

InstallDLC

void InstallDLC( AppId_t nAppID );
NombreTipoDescripción
nAppIDAppId_tEl DLC que quieres instalar.

Te permite instalar un DLC opcional.

Devuelve: void

Activa una función callback DlcInstalled_t.

MarkContentCorrupt

bool MarkContentCorrupt( bool bMissingFilesOnly );
NombreTipoDescripción
bMissingFilesOnlyboolSolo busca los archivos que faltan; no verifica la suma de comprobación de cada archivo.

Permite forzar la verificación del contenido del juego durante el próximo inicio.

Si detectas que el juego está desactualizado (por ejemplo, al hacer que el cliente detecte una discrepancia de versión con un servidor),
puedes llamar a usar MarkContentCorrupt para forzar una verificación, mostrar un mensaje al usuario y luego salir.

Devuelve: bool

RequestAllProofOfPurchaseKeys

void RequestAllProofOfPurchaseKeys();
Obsoleta.

RequestAppProofOfPurchaseKey

void RequestAppProofOfPurchaseKey( AppId_t nAppID );
NombreTipoDescripción
nAppIDAppId_t

Obsoleta.

UninstallDLC

void UninstallDLC( AppId_t nAppID );
NombreTipoDescripción
nAppIDAppId_tEl DLC que quieres desinstalar.

Permite desinstalar un DLC opcional.

Funciones callback

Estas son funciones callback que se activan al llamar a SteamAPI_RunCallbacks. Muchas de estas se activarán directamente en respuesta a las funciones miembro de ISteamApps.

AppProofOfPurchaseKeyResponse_t

Solo se usa internamente en Steam.

NombreTipoDescripción
m_eResultEResult
m_nAppIDuint32
m_cchKeyLengthuint32
m_rgchKeychar[k_cubAppProofOfPurchaseKeyMax

DlcInstalled_t

Se activa cuando el usuario actual adquiere la propiedad del DLC y este se instala.

NombreTipoDescripción
m_nAppIDAppId_tId. de aplicación del DLC que se instaló.

Funciones asociadas: InstallDLC

FileDetailsResult_t

Función invocada después de solicitar los detalles de un archivo concreto.

NombreTipoDescripción
m_eResultEResult¿La llamada se ha ejecutado correctamente? k_EResultOK si tuvo éxito; de lo contrario, k_EResultFileNotFound si no se encontró el archivo. No se rellena ninguno de los demás campos si la llamada falla.
m_ulFileSizeuint64El tamaño del archivo original en bytes.
m_FileSHAuint8[20]El hash SHA1 del archivo original.
m_unFlagsuint32

Funciones asociadas: GetFileDetails

NewUrlLaunchParameters_t

Se envía después de que el usuario ejecuta un URL de Steam desde la línea de comandos o con parámetros de consulta como steam://run/<appid>//?param1=value1;param2=value2;param3=value3; mientras el juego se está ejecutando. Los nuevos parámetros se pueden verificar con GetLaunchCommandLine y GetLaunchQueryParam.

Esta función callback no tiene campos.

NewLaunchQueryParameters_t

Se envía cuando el usuario ejecuta un URL de Steam con parámetros de consulta como steam://run/<appid>//?param1=value1;param2=value2;param3=value3; mientras el juego se está ejecutando. Los nuevos parámetros se pueden consultar con GetLaunchQueryParam.

Esta función callback no tiene campos.

RegisterActivationCodeResponse_t

Solo se usa internamente en Steam.

NombreTipoDescripción
m_eResultERegisterActivationCodeResult
m_unPackageRegistereduint32

TimedTrialStatus_t

Se envía cada minuto cuando un id. de aplicación se posee a través de una prueba de duración limitada.

NombreTipoDescripción
m_unAppIDAppId_tId. de aplicación que está en una prueba de duración limitada.
m_bIsOfflineboolSi es true, el usuario está actualmente desconectado. El tiempo permitido/jugado se refiere al tiempo sin conexión, no al tiempo total.
m_unSecondsAlloweduint32Cuántos segundos se puede jugar a la aplicación en total.
m_unSecondsPlayeduint32Cuántos segundos se ha jugado ya a la aplicación.

Véase también: BIsTimedTrial

Enums

Estas son las enumeraciones establecidas para usarse con ISteamApps.

ERegisterActivationCodeResult

Solo se usa internamente en Steam.

NombreValorDescripción
k_ERegisterActivationCodeResultOK0
k_ERegisterActivationCodeResultFail1
k_ERegisterActivationCodeResultAlreadyRegistered2
k_ERegisterActivationCodeResultTimeout3
k_ERegisterActivationCodeAlreadyOwned4

Constantes

Estas son constantes definidas para usarse con ISteamApps.

NombreTipoValorDescripción
k_cubAppProofOfPurchaseKeyMaxint240Solo se usa internamente en Steam.
STEAMAPPS_INTERFACE_VERSIONconst char *"STEAMAPPS_INTERFACE_VERSION008"