> ## 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-CA/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 à délai critique. Pour plus d'informations, consultez [Threads à délai critique](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).</Note>

Cette fonction lance une autre application au moyen d'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 matière de délai et reste bloquée 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 ne peut 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 façon, XLaunchUri n'affiche pas d'invite à l'utilisateur si 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 à l'utilisateur une interface de correction, au besoin.

Sur PC, lorsque XLaunchUri est appelée de cette façon, elle supprime simplement "ms-bgm-" du début de l'URI avant de le lancer normalement. Elle 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 compagnon :

```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 à délai critique](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## Voir aussi

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


## Related topics

- [XLaunchUri](/reference/system/xlauncher/functions/xlaunchuri.md)
- [XLaunchNewGame](/reference/system/xgame/functions/xlaunchnewgame.md)
- [XLauncher](/reference/system/xlauncher/xlauncher_members.md)
- [XBOX Manager: managing apps and files](/tools/tools-console/xbom/manager-tool-managing-applications.md)
- [Title launches](/services/playfab/pricing/title-launches.md)
