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

# XGameRuntimeInitialize

> XGameRuntimeInitialize

# XGameRuntimeInitialize

Initialise le Gaming Runtime.

## Syntaxe

```cpp theme={null}
HRESULT XGameRuntimeInitialize(  
)  
```

### Paramètres

Aucun.

### Valeur de retour

Type : [HRESULT](https://learn.microsoft.com/openspecs/windows_protocols/ms-erref/0642cb2f-2075-4469-918c-4441e69c548a)

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). Si la fonction échoue parce que la bibliothèque du Gaming Runtime (xgameruntime.dll) est introuvable, la valeur de retour est définie sur **E\_GAMERUNTIME\_DLL\_NOT\_FOUND**.

## Remarques

Pour utiliser les fonctionnalités du Gaming Runtime dans votre jeu, initialisez d'abord le Gaming Runtime en appelant la fonction **XGameRuntimeInitialize**. Appelez la fonction **XGameRuntimeInitialize** le plus tôt possible, généralement dans la fonction de point d'entrée de votre jeu. De même, désinitialisez le Gaming Runtime le plus tard possible, mais avant la fermeture de votre jeu, en appelant la fonction [XGameRuntimeUninitialize](/fr/reference/system/xgameruntimeinit/functions/xgameruntimeuninitialize).

Chaque binaire compilé et lié au Gaming Runtime doit appeler **XGameRuntimeInitialize** tôt au démarrage.  Cela inclut le binaire du jeu et tout middleware sous forme de DLL qui utilise des fonctionnalités du Gaming Runtime.  En interne, la fonction **XGameRuntimeInitialize** vérifie les versions de toutes les interfaces avec lesquelles le titre a été compilé et les utilise pour initialiser les services runtime correspondants.  D'une version à l'autre du Gaming Runtime, des fonctions peuvent être ajoutées ou supprimées, ou, dans de rares cas, présenter des changements de comportement cassants.  Appeler **XGameRuntimeInitialize** depuis chaque composant permet de détecter des problèmes de configuration de build, par exemple la compilation par deux binaires différents, chargés dans le même processus, avec deux versions différentes et incompatibles du Gaming Runtime.  De telles configurations incompatibles entraînent une erreur **E\_GAMERUNTIME\_VERSION\_MISMATCH**.

L'exemple suivant montre comment utiliser les fonctions **XGameRuntimeInitialize** et [XGameRuntimeUninitialize](/fr/reference/system/xgameruntimeinit/functions/xgameruntimeuninitialize) dans la fonction de point d'entrée d'un jeu basé sur le modèle **Direct3D 12 Desktop Game** de Visual Studio. La fonction **XGameRuntimeInitialize** est appelée avant que l'objet **Game** soit instancié et inscrit, et la fonction **XGameRuntimeUninitialize** est appelée après la réinitialisation de l'objet **Game**, mais avant le retour de la fonction de point d'entrée.

```cpp theme={null}
// Entry point
int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);

    // Initialize the Gaming Runtime before
    // performing any other activity.
    if (FAILED(XGameRuntimeInitialize()))
        return 1;

    if (!XMVerifyCPUSupport())
        return 1;

    g_game = std::make_unique<Game>();

    // Register class and create window
    {
        // Code omitted for brevity.
        ...
    }

    // Main message loop
    MSG msg = {};
    while (WM_QUIT != msg.message)
    {
        // Code omitted for brevity.
        ...
    }

    g_game.reset();

    // Uninitialize the Gaming Runtime after
    // all other activity has been completed.
    XGameRuntimeUninitialize();

    return (int) msg.wParam;
}
```

## Configuration requise

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

**Bibliothèque :** xgameruntime.lib

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

## Documentation conceptuelle

* [Qu'est-ce que le Microsoft Game Development Kit ?](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/intro/introduction)

## Voir aussi

[XGameRuntimeUninitialize](/fr/reference/system/xgameruntimeinit/functions/xgameruntimeuninitialize)\
[XGameRuntimeInitializeWithOptions](/fr/reference/system/xgameruntimeinit/functions/xgameruntimeinitializewithoptions)\
[XGameRuntimeInit](/fr/reference/system/xgameruntimeinit/xgameruntimeinit_members)\
[Structures XGameRuntime](/fr/reference/system/xgameruntimeinit/Structures/xgameruntimeoptions)\
[Énumérations XGameRuntime](/fr/reference/system/xgameruntimeinit/Enumerations/xgameruntimegameconfigsource)\
[Développement de nouveaux titres avec le Gaming Runtime](/fr/build/gdk-and-engines/guides/gdk-project-templates)


## Related topics

- [XGameRuntimeInitialize](/reference/system/xgameruntimeinit/functions/xgameruntimeinitialize.md)
- [XGameRuntimeInitializeWithOptions](/reference/system/xgameruntimeinit/functions/xgameruntimeinitializewithoptions.md)
- [XGameRuntimeUninitialize](/reference/system/xgameruntimeinit/functions/xgameruntimeuninitialize.md)
- [XGameRuntimeInit](/reference/system/xgameruntimeinit/xgameruntimeinit_members.md)
