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

# Utilisation d'un bien durable sans package

> Utilisez un bien durable sans package (DWOB) dans votre titre : configuration des licences, vérifications des droits d'utilisation et différences entre les DWOB et les produits de contenu téléchargeable avec package.

Les biens durables peuvent être configurés avec ou sans package téléchargé sur le client. Un bien durable sans package est plus facile à configurer et à utiliser. Ces types de biens durables servent généralement à contrôler l'accès à du contenu qui fait déjà partie du jeu de base. De nombreux jeux choisissent d'inclure le contenu des modules complémentaires dans le package du jeu de base, car ils utilisent les ressources à des fins multijoueur ou d'aperçu, même sans licence.

<Note>
  Un bien durable sans package n'est pas pris en charge sur les disques.
</Note>

Même sans package téléchargeable, ce type de produit fournit toujours une licence conformément au [Modèle de partage de produits pour les jeux](/fr/publishing/xstore-commerce/xstore-product-sharing).

Il ne suffit pas de vérifier la propriété à l'aide de [XStoreQueryEntitledProductsAsync](/fr/reference/system/xstore/xstore_members). Vérifiez plutôt correctement l'accès à un bien durable à l'aide de [XStoreAcquireLicenseForDurablesAsync](/fr/reference/system/xstore/xstore_members) :

```cpp theme={null}
void AcquireLicenseForDurable(const char* storeId)
{
    auto async = new XAsyncBlock{};
    async->queue = m_asyncQueue;
    async->callback = [](XAsyncBlock* async)
    {
        XStoreLicenseHandle result = {};

        HRESULT hr = XStoreAcquireLicenseForDurablesResult(
            async,
            &result);

        if (SUCCEEDED(hr))
        {
            bool isValid = XStoreIsLicenseValid(result);
            printf("Is valid license: %s\n", isValid? "yes" : "no");
        }
        else
        {
            printf("Error calling XStoreAcquireLicenseForDurablesResult: 0x%x\n", hr);
        }

        delete async;
    };

    HRESULT hr = XStoreAcquireLicenseForDurablesAsync(
        m_xStoreContext,
        storeId,
        async);

    if (FAILED(hr))
    {
        delete async;
        return;
    }
}
```

## Documentation de référence de l'API

* [XStore (contenu de l'API)](/fr/reference/system/xstore/xstore_members)
  * Fonctions
    * [XStoreQueryEntitledProductsAsync](/fr/reference/system/xstore/xstore_members)
    * [XStoreAcquireLicenseForDurablesAsync](/fr/reference/system/xstore/xstore_members)

## Voir aussi

[Vue d'ensemble du commerce](/fr/publishing/xstore-commerce/xstore-commerce-overview)

[Gérer et accorder des licences pour le contenu téléchargeable (DLC)](/fr/publishing/xstore-commerce/xstore-dlc)

[Référence de l'API XStore](/fr/reference/system/xstore/xstore_members)


## Related topics

- [XR-037 Dépendances vis-à-vis des packages de contenu](/fr/publishing/certification/xr/xr-037.md)
- [XR-048 Utilisation des paramètres de profil](/fr/publishing/certification/xr/xr-048.md)
- [XR022 Normes de dénomination officielles](/fr/publishing/certification/fma/xr-022.md)
- [XR048 Utilisation des paramètres de profil](/fr-CA/publishing/certification/fma/xr-048.md)
- [Notes de version du SDK C++ PlayFab Multiplayer](/fr-CA/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/lobby-and-matchmaking-release-notes.md)
