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

# XPersistentLocalStorageGetPath

> XPersistentLocalStorageGetPath

# XPersistentLocalStorageGetPath

Retourne le chemin d'accès propre au jeu vers le stockage local persistant (PLS) de l'appareil.

## Syntaxe

```cpp theme={null}
HRESULT XPersistentLocalStorageGetPath(  
         size_t pathSize,  
         char* path,  
         size_t* pathUsed  
)  
```

### Paramètres

*pathSize*   \_In\_\
Type : size\_t

Nombre de caractères dans la mémoire tampon fournie pour le chemin PLS. Pour obtenir cette valeur, appelez [XPersistentLocalStorageGetPathSize](/fr/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetpathsize).

*path*   \_Out\_writes\_to\_(pathSize,*pathUsed)\
Type : char*

Chemin PLS dans lequel votre jeu peut écrire des données.

*pathUsed*   \_Out\_opt\_\
Type : size\_t\*

Nombre de caractères écrits dans la mémoire tampon fournie.

### 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 *pathSize* est inférieur à la longueur du chemin PLS, la valeur de retour est **E\_FAIL** sur les appareils XBOX et **HRESULT\_FROM\_WIN32(ERROR\_INSUFFICIENT\_BUFFER)** sur les PC.

## Remarques

<Note>Il n'est pas sûr d'appeler cette fonction sur un thread sensible au temps. Pour plus d'informations, consultez [Threads sensibles au temps](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).</Note>

Les jeux peuvent avoir besoin du PLS pour des tâches telles que l'espace de préparation, le DLC intégré au jeu et la génération de contenu à la demande. Bien que l'espace soit conservé d'une activation du jeu à l'autre, il peut également être supprimé par les utilisateurs. Pour plus d'informations sur le PLS, consultez [Stockage local](/fr/build/console-features/storage/local-storage)

L'accès au PLS et sa gestion dépendent de la famille de l'appareil. Sur les appareils XBOX, nous fournissons l'accès à un dossier monté à la racine d'un lecteur. La quantité d'espace de stockage allouée à ce dossier est spécifiée dans le fichier MicrosoftGame.config de votre jeu. L'espace alloué est disponible et toujours présent pendant l'exécution de votre jeu. Pour libérer de l'espace, les utilisateurs peuvent supprimer l'espace alloué sans désinstaller le jeu lorsque celui-ci n'est pas en cours d'exécution ; toutefois, lorsque le jeu est en cours d'exécution, la disponibilité du stockage est garantie. Pour que cet espace soit alloué sur les appareils XBOX, vous devez disposer d'une entrée correspondante dans votre fichier MicrosoftGame.config.

Sur les PC, nous fournissons l'accès à l'emplacement d'un dossier de stockage local sur le PC, mais aucun espace n'est spécifiquement alloué à votre jeu. Les utilisateurs peuvent supprimer cet espace même pendant l'exécution du jeu. La disponibilité du stockage n'est pas garantie, et aucune entrée dans votre fichier MicrosoftGame.config n'est requise pour réserver de l'espace de stockage. Vous devez d'abord vérifier que l'espace disponible dans le dossier de stockage local est suffisant pour les besoins de votre jeu.

Avant d'appeler cette fonction pour récupérer le chemin PLS, appelez la fonction [XPersistentLocalStorageGetPathSize](/fr/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetpathsize) pour obtenir le nombre de caractères du chemin PLS, puis fournissez cette valeur dans le paramètre *pathSize* et allouez au moins autant de caractères pour le paramètre *path*. Une erreur se produit si le nombre de caractères spécifié dans *pathSize* est inférieur à celui du chemin PLS.

L'exemple suivant montre comment utiliser les fonctions **XPersistentLocalStorageGetPathSize** et **XPersistentLocalStorageGetPath** pour obtenir le chemin PLS de votre jeu.

```cpp theme={null}
// Confirm that all of the features needed to run asynchronous tasks on 
// task queues are available.
LPCSTR Game::CheckPLSPath()
{
    // Confirm the length of the path to the local storage folder.
    LPCSTR returnPath = "";
    size_t pathSize;
    if (SUCCEEDED(XPersistentLocalStorageGetPathSize(&pathSize)))
    {
        char * path = new char[pathSize];
        size_t * pathUsed = new size_t;
        if (path != nullptr)
        {
            // Get the path to the local storage folder.
            if (SUCCEEDED(XPersistentLocalStorageGetPath(pathSize, path, pathUsed))) 
            {
                // Just to be safe, copy the bytes used in the buffer 
                // to a separate string.
                char * actualPath = new char[*pathUsed];
                strncpy(actualPath, path, *pathUsed);
                returnPath = actualPath;
            }
        }
    };

    return returnPath;
}
```

## Configuration requise

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

**Bibliothèque :** xgameruntime.lib

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

## Documentation conceptuelle

* [Stockage local sur console XBOX](/fr/build/console-features/storage/local-storage)
* [Threads sensibles au temps](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## Voir aussi

[XPersistentLocalStorageGetPathSize](/fr/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetpathsize)\
[XPersistentLocalStorage](/fr/reference/system/xpersistentlocalstorage/xpersistentlocalstorage_members)\
[Utilisation du nouveau fichier MicrosoftGame.config](/fr/build/core-features/common/game-config/MicrosoftGameConfig-toc)


## Related topics

- [XPersistentLocalStorageGetPath](/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetpath.md)
- [XPersistentLocalStorageGetPathSize](/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetpathsize.md)
