> ## 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.

# XLaunchUri

> XLaunchUri

# XLaunchUri

L'API Launcher du Microsoft Game Development Kit (GDK) fournit un mécanisme qui permet aux jeux de lancer une expérience en appelant un URI.

## Syntaxe

```cpp theme={null}
HRESULT XLaunchUri(  
         XUserHandle requestingUser,  
         const char* uri  
)  
```

### Paramètres

*requestingUser*   \_In\_opt\_\
Type : XUserHandle

Définit un handle identifiant l'utilisateur qui effectue la demande.

*uri*   \_In\_z\_\
Type : char\*

Chaîne qui indique l'URI à lancer.

### Valeur de retour

Type : HRESULT

Code de réussite ou d'erreur HRESULT.

Retourne S\_OK en cas de réussite ; sinon, retourne un code d'erreur. Pour obtenir la liste des codes d'erreur, consultez [Codes d'erreur](/fr/reference/errorcodes).

| Code de retour | Description |
| - | - |
| S\_OK | L'opération a réussi. |
| E\_GAMEPACKAGE\_NO\_PACKAGE\_IDENTIFIER | L'URI passé à cette fonction a tenté de lancer une application en arrière-plan, mais aucune application appropriée n'a été trouvée. Elle n'est peut-être pas installée. |

## Remarques

<Note>Cette fonction ne peut pas être appelée en toute sécurité sur un thread urgent. Pour plus d'informations, consultez [Threads urgents](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).</Note>

Cette fonction lance une autre application via un URI. Elle accepte également un contexte utilisateur facultatif et un URI obligatoire.

En cas de réussite, l'URI de destination est lancé. Sinon, une erreur est retournée. Cette méthode n'est pas considérée comme critique en termes de temps et bloque jusqu'à ce que l'opération système asynchrone sous-jacente soit terminée, et que l'URI de destination ait été lancé ou qu'une erreur se soit produite.

Si aucune application n'existe pour gérer le schéma de protocole de l'URI donné, le système  affiche une invite demandant à l'utilisateur s'il souhaite rechercher dans le Windows Store une application qui gère ce schéma.

### Lancement en arrière-plan

Sur console, les applications Windows universelles qui disposent de la fonctionnalité [backgroundMediaPlayback](https://learn.microsoft.com/windows/uwp/audio-video-camera/background-audio) dans leur fichier appxmanifest peuvent être lancées en arrière-plan plutôt qu'au premier plan. Pour ce faire, ajoutez la chaîne "ms-bgm-" au début de votre URI. Par exemple, si votre application multimédia d'arrière-plan répond au protocole "companion-music-app\://", vous pouvez la lancer en arrière-plan avec l'URI "ms-bgm-companion-music-app\://". Lorsque l'application reçoit l'activation, l'URI obtenu à partir de [ProtocolActivatedEventArgs](https://learn.microsoft.com/uwp/api/windows.applicationmodel.activation.protocolactivatedeventargs) n'inclut pas le préfixe "ms-bgm-".

Lorsqu'elle est appelée de cette manière, XLaunchUri n'affiche pas d'invite à l'utilisateur lorsqu'aucune application appropriée n'est installée. À la place, si votre jeu utilise la version d'avril 2025 du GDK ou une version ultérieure, elle retourne E\_GAMEPACKAGE\_NO\_PACKAGE\_IDENTIFIER. Votre code peut vérifier cette valeur de retour et l'utiliser pour afficher une interface utilisateur de correction à l'utilisateur, le cas échéant.

Sur PC, lorsque XLaunchUri est appelée de cette manière, elle supprime simplement "ms-bgm-" du début de l'URI avant de le lancer normalement. Cela n'a aucun autre effet sur le comportement du système sur PC.

Voici un exemple d'appel de XLaunchUri pour lancer une application musicale complémentaire :

```cpp theme={null}
HRESULT BeginPlayingMusic(XUserHandle user)
{
    // Launch a well-known companion music application.
    // The game and app both need to agree on the URI scheme.
    HRESULT hr = XLaunchUri(user, "ms-bgm-companion-music-app://launch?play=true");
    if (hr == E_GAMEPACKAGE_NO_PACKAGE_IDENTIFIER)
    {
        // If the music app isn't installed, launch the store page so the user can download it.
        return XLaunchUri(user, "ms-windows-store://pdp/?ProductId=9FAKESTOREID");
    }

    return hr;
}
```

## Configuration requise

**En-tête :** XLauncher.h

**Bibliothèque :** xgameruntime.lib

**Plateformes prises en charge :** Windows, consoles de la famille XBOX One et consoles XBOX Series

## Documentation conceptuelle

* [Threads urgents](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## Voir aussi

[XLauncher](/fr/reference/system/xlauncher/xlauncher_members)


## Related topics

- [XLaunchUri](/reference/system/xlauncher/functions/xlaunchuri.md)
- [XLaunchNewGame](/reference/system/xgame/functions/xlaunchnewgame.md)
