Documentação do Steamworks
Interface ISteamClient
Interface para criar uma nova instância do Steam ou conectar-se a uma instância do Steam existente, seja em um processo diferente ou local.

Na maioria dos casos isso é feito automaticamente por meio da função SteamAPI_Init.
Só é necessário usar essas APIs se usar um esquema de versionamento mais complexo ou desejar implementar um servidor de jogos multiplexado, onde um único processo cuida de várias partidas simultâneas com IDs Steam de servidor independentes.

Funções de membro

Funções de membro de ISteamClient são chamadas por meio da função de acesso global SteamClient().

BReleaseSteamPipe

bool BReleaseSteamPipe( HSteamPipe hSteamPipe );
NomeTipoDescrição
hSteamPipeHSteamPipeO pipe a ser liberado.

Libera um pipe de comunicação previamente criado.

NÃO É THREAD-SAFE — Garanta que não há outras threads acessando a API do Steamworks antes de chamar!

Retorna: bool
true se o pipe for válido e tiver sido liberado com sucesso; false caso contrário.

BShutdownIfAllPipesClosed

bool BShutdownIfAllPipesClosed();
Dispara o encerramento global para a DLL se todos os pipes estiverem fechados.

Retorna: bool

ConnectToGlobalUser

HSteamUser ConnectToGlobalUser( HSteamPipe hSteamPipe );
NomeTipoDescrição
hSteamPipeHSteamPipeO pipe de conexão com o qual se conectar.

Conecta-se a um usuário global existente, falhando se nenhum existir.

Usada pelo jogo para coordenar com a interface de usuário do Steam.

NÃO É THREAD-SAFE — Garanta que não há outras threads acessando a API do Steamworks antes de chamar!

Retorna: HSteamUser
O handle HSteamUser do usuário global. Retorna 0 se o pipe for inválido ou não houver usuário global.

CreateLocalUser

HSteamUser CreateLocalUser( HSteamPipe *phSteamPipe, EAccountType eAccountType );
NomeTipoDescrição
phSteamPipeHSteamPipe *
eAccountTypeEAccountType

Cria um usuário Steam que não será compartilhado com ninguém. Usado apenas por servidores de jogo.

NÃO É THREAD-SAFE — Garanta que não há outras threads acessando a API do Steamworks antes de chamar!

Retorna: HSteamUser
Um handle para um SteamUser novo.

CreateSteamPipe

HSteamPipe CreateSteamPipe();
Cria um pipe de comunicação ao cliente Steam.
NÃO É THREAD-SAFE — Garanta que não há outras threads acessando a API do Steamworks antes de chamar!

Retorna: HSteamPipe

GetIPCCallCount

uint32 GetIPCCallCount();
Retorna a quantidade de chamadas de comunicação entre processos (IPC) realizadas desde que esta função foi chamada pela última vez.

Usada para depuração de desempenho, para que possa verificar quantas chamadas de IPC o jogo realiza por quadro. Cada chamada de IPC resulta, no mínimo, em uma troca de contexto de thread, ou mesmo uma troca de processo, então seja diligente e controle a frequência em que são feitas.

Retorna: uint32

GetISteamApps

ISteamApps * GetISteamApps( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamApps associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMAPPS_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente à chamar a função de acesso global: SteamApps()

Retorna: ISteamApps *
Um ponteiro para a implementação de SteamApps associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamController

ISteamController * GetISteamController( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamController associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMCONTROLLER_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamController()

Retorna: ISteamController *
Um ponteiro para a implementação de SteamController associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamFriends

ISteamFriends * GetISteamFriends( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamFriends associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMFRIENDS_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamFriends()

Retorna: ISteamFriends *
Um ponteiro para a implementação de SteamFriends associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamGameServer

ISteamGameServer * GetISteamGameServer( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamGameServer associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMGAMESERVER_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamGameServer()

Retorna: ISteamGameServer *
Um ponteiro para a implementação de SteamGameServer associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamGameServerStats

ISteamGameServerStats * GetISteamGameServerStats( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamGameServerStats associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMGAMESERVERSTATS_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamGameServerStats()

Retorna: ISteamGameServerStats *
Um ponteiro para a implementação de SteamGameServerStats associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamGenericInterface

void * GetISteamGenericInterface( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera uma interface genérica associada com o handle de usuário especificado.

Não é necessário usá-la em condições normais.

Retorna: void *
Um ponteiro para a implementação de uma interface associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamHTMLSurface

ISteamHTMLSurface * GetISteamHTMLSurface( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamHTMLSurface associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMHTMLSURFACE_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamHTMLSurface()

Retorna: ISteamHTMLSurface *
Um ponteiro para a implementação de SteamHTMLSurface associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamHTTP

ISteamHTTP * GetISteamHTTP( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamHTTP associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMHTTP_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamHTTP()

Retorna: ISteamHTTP *
Um ponteiro para a implementação de SteamHTTP associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamInventory

ISteamInventory * GetISteamInventory( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamInventory associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMINVENTORY_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamInventory()

Retorna: ISteamInventory *
Um ponteiro para a implementação de SteamInventory associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamMatchmaking

ISteamMatchmaking * GetISteamMatchmaking( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamMatchmaking associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMMATCHMAKING_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamMatchmaking()

Retorna: ISteamMatchmaking *
Um ponteiro para a implementação de SteamMatchmaking associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamMatchmakingServers

ISteamMatchmakingServers * GetISteamMatchmakingServers( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamMatchmakingServers associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMMATCHMAKINGSERVERS_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamMatchmakingServers()

Retorna: ISteamMatchmakingServers *
Um ponteiro para a implementação de SteamMatchmakingServers associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamMusic

ISteamMusic * GetISteamMusic( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamMusic associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMMUSIC_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamMusic()

Retorna: ISteamMusic *
Um ponteiro para a implementação de SteamMusic associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamMusicRemote

ISteamMusicRemote * GetISteamMusicRemote( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamMusicRemote associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMMUSICREMOTE_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamMusicRemote()

Retorna: ISteamMusicRemote *
Um ponteiro para a implementação de SteamMusicRemote associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamNetworking

ISteamNetworking * GetISteamNetworking( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamNetworking associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMNETWORKING_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamNetworking()

Retorna: ISteamNetworking *
Um ponteiro para a implementação de SteamNetworking associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamRemoteStorage

ISteamRemoteStorage * GetISteamRemoteStorage( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamRemoteStorage associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMREMOTESTORAGE_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamRemoteStorage()

Retorna: ISteamRemoteStorage *
Um ponteiro para a implementação de SteamRemoteStorage associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamScreenshots

ISteamScreenshots * GetISteamScreenshots( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamScreenshots associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMSCREENSHOTS_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamScreenshots()

Retorna: ISteamScreenshots *
Um ponteiro para a implementação de SteamScreenshots associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamUGC

ISteamUGC * GetISteamUGC( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamUGC associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMUGC_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamUGC()

Retorna: ISteamUGC *
Um ponteiro para a implementação de SteamUGC associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamUnifiedMessages

ISteamUnifiedMessages * GetISteamUnifiedMessages( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamUnifiedMessages associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMUNIFIEDMESSAGES_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamUnifiedMessages()

Retorna: ISteamUnifiedMessages *
Um ponteiro para a implementação de SteamUnifiedMessages associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamUser

ISteamUser * GetISteamUser( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamUser associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMUSER_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamUser()

Retorna: ISteamUser *
Um ponteiro para a implementação de SteamUser associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamUserStats

ISteamUserStats * GetISteamUserStats( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamUserStats associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMUSERSTATS_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamUserStats()

Retorna: ISteamUserStats *
Um ponteiro para a implementação de SteamUserStats associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamUtils

ISteamUtils * GetISteamUtils( HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamUtils associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMUTILS_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamUtils()

Retorna: ISteamUGC *
Um ponteiro para a implementação de SteamUGC associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

GetISteamVideo

ISteamVideo * GetISteamVideo( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion );
NomeTipoDescrição
hSteamUserHSteamUserO handle de usuário cuja interface recuperar.
hSteamPipeHSteamPipeO pipe pelo qual acessar a interface.
pchVersionconst char *A string de versão que identifica a versão da interface recebida.

Recupera a interface ISteamVideo associada com o handle de usuário especificado.

A constante que contém a versão atual da interface é: "STEAMVIDEO_INTERFACE_VERSION"

Não é necessário usá-la em condições normais; costuma ser funcionalmente equivalente a chamar a função de acesso global: SteamVideo()

Retorna: ISteamVideo *
Um ponteiro para a implementação de SteamVideo associada com o dado HSteamUser.

Retorna NULL se um ou mais argumentos forem inválidos.

ReleaseUser

void ReleaseUser( HSteamPipe hSteamPipe, HSteamUser hUser );
NomeTipoDescrição
hSteamPipeHSteamPipeO pipe de conexão pelo qual remover o usuário.
hUserHSteamUserO usuário a ser removido.

Remove um usuário alocado.

NÃO É THREAD-SAFE — Garanta que não há outras threads acessando a API do Steamworks antes de chamar!

SetLocalIPBinding

void SetLocalIPBinding( uint32 unIP, uint16 usPort );
NomeTipoDescrição
unIPuint32O endereço IP local ao qual vincular.
usPortuint16A porta à qual vincular.

Define o endereço IP local e a porta aos quais vincular.

Deve ser usada antes de chamar CreateLocalUser!

SetWarningMessageHook

void SetWarningMessageHook( SteamAPIWarningMessageHook_t pFunction );
NomeTipoDescrição
pFunctionSteamAPIWarningMessageHook_tPonteiro de função para a função de retorno de chamada.

Define um gancho de mensagem de alerta para receber mensagens de alerta e informação da SteamAPI em uma função de retorno de chamada.

O protótipo da função deve ser equivalente à definição em SteamAPIWarningMessageHook_t. Isso inclui a vinculação "extern C" e a convenção de chamadas __cdecl.

"int nSeverity" é a gravidade. 0 para mensagens, 1 para alertas. Se estiver executando por meio de um depurador, apenas alertas serão enviados. Se adicionar -debug_steamapi à linha de comando, então mensagens informativas também serão enviadas.
"const char * pchDebugText" é o texto da mensagem.
Retornos de chamada serão disparados assim que a função da API chamada gerar o alerta ou a mensagem.

Passar um valor NULL removerá o gancho.

Exemplo:
extern "C" void __cdecl SteamAPIDebugTextHook( int nSeverity, const char *pchDebugText ) { ::OutputDebugString( pchDebugText ); if ( nSeverity >= 1 ) { // Coloque aqui um ponto de parada para verificar erros da API int x = 3; x = x; } } void AtivarGanchoMensagensAlerta() { SteamUtils()->SetWarningMessageHook( &SteamAPIDebugTextHook ); }

Tipos definidos

Estes são os tipos definidos por typedefs para uso com ISteamClient.

NomeTipo baseDescrição
HSteamPipeint32Handle de um pipe de comunicação com o cliente Steam.
HSteamUserint32Handle de uma única instância de um usuário Steam.