> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XLaunchNewGame

> XLaunchNewGame

# XLaunchNewGame

Encerra o jogo atual, libera todos os recursos alocados e inicia um novo jogo.

## Sintaxe

```cpp theme={null}
void XLaunchNewGame(  
         const char* exePath,  
         const char* args,  
         XUserHandle defaultUser  
)  
```

### Parâmetros

*exePath*   \_In\_z\_\
Tipo: char\*

O caminho e o nome do arquivo do novo jogo a ser iniciado. Esse caminho pode ser relativo ao diretório atual ou um caminho absoluto. Os jogos que precisam saber o caminho do executável chamador podem chamar [GetModuleFileNameA](https://learn.microsoft.com/windows/win32/api/libloaderapi/nf-libloaderapi-getmodulefilenamea) com nullptr para o identificador do módulo.

*args*   \_In\_opt\_z\_\
Tipo: char\*

Quaisquer argumentos aplicáveis e específicos do jogo com os quais iniciar o novo jogo.

*defaultUser*   \_In\_opt\_\
Tipo: XUserHandle

O identificador do usuário que está iniciando o novo jogo. Se um valor não for especificado, o usuário atual será
especificado.

### Valor retornado

Tipo: void

Esta função não retorna um valor nem gera exceções, mesmo que não consiga reiniciar o jogo.

## Comentários

<Note>Não é seguro chamar esta função em um thread sensível ao tempo. Para obter mais</Note>
informações, consulte [Threads sensíveis ao tempo](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).

Esta função reinicia o jogo, encerra o processo atual do jogo e reinicia o jogo usando um
novo processo. O jogo é reiniciado sem reiniciar a máquina virtual na qual o jogo está
sendo executado. Você tem a opção de especificar um usuário padrão diferente e argumentos específicos do jogo com
os quais o jogo será reiniciado; para obter detalhes sobre como especificar um usuário padrão diferente, consulte [Identidade
do usuário e XUser](/pt-BR/build/core-features/common/user/player-identity-xuser).

O processo atual é sempre encerrado, mesmo que a função encontre um erro ao iniciar um
novo jogo. Por exemplo, se qualquer valor especificado para *exePath*, *args* ou *defaultUser* não for válido,
a função não retorna um valor nem gera uma exceção.

<Note>Quando esta função é chamada, todo o DLC montado anteriormente será</Note>
desmontado, com exceção do DLC que hospeda o destino de **XLaunchNewGame**. A unidade **G:**
continuará apontando para a raiz do pacote base e não para o EXE recém-iniciado.

<Note>Se um jogo for suspenso depois que **XLaunchNewGame** for chamado, mas antes de</Note>
o jogo recém-iniciado configurar seu manipulador de suspensão, o jogo será encerrado. Essa é uma
janela de tempo muito estreita e, na prática, deve ser uma ocorrência muito improvável.

<Note>A memória transferida ao sistema usando [XMemTransferMemory (tópico sob NDA)](/pt-BR/reference/system/xmem/functions/xmemtransfermemory) é mantida.</Note>

## Requisitos

**Cabeçalho:** XGame.h

**Biblioteca:** xgameruntime.lib

**Plataformas compatíveis:** Windows, consoles da família XBOX One e consoles XBOX Series

## Documentação conceitual

* [Threads sensíveis ao tempo](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)
* [Suporte a jogos como serviço (GaaS)](/pt-BR/build/core-features/common/packaging/supporting-games-as-a-service)

## Confira também

[XGame](/pt-BR/reference/system/xgame/xgame_members)\
[Identidade do usuário e XUser](/pt-BR/build/core-features/common/user/player-identity-xuser)\
[XLaunchUri](/pt-BR/reference/system/xlauncher/functions/xlaunchuri)


## Related topics

- [XLaunchNewGame](/reference/system/xgame/functions/xlaunchnewgame.md)
- [XLaunchRestartOnCrash](/reference/system/xgame/functions/xlaunchrestartoncrash.md)
- [XGame](/reference/system/xgame/xgame_members.md)
