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

# XStoreCanAcquireLicenseForPackageAsync

> XStoreCanAcquireLicenseForPackageAsync

# XStoreCanAcquireLicenseForPackageAsync

Récupère une licence d'aperçu pour un DLC (durable avec un package).
Cette API permet au jeu de vérifier si une licence peut être accordée pour le package du durable, sans réellement acquérir la licence.

## Syntaxe

```cpp theme={null}
HRESULT XStoreCanAcquireLicenseForPackageAsync(  
         const XStoreContextHandle storeContextHandle,  
         const char* packageIdentifier,  
         XAsyncBlock* async  
)  
```

### Paramètres

*storeContextHandle*   \_In\_\
Type : XStoreContextHandle

Le handle de contexte du Store pour l'utilisateur, retourné par [XStoreCreateContext](/fr-CA/reference/system/xstore/functions/xstorecreatecontext).

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

Une chaîne qui identifie de manière unique un package du Store. Pour plus d'informations sur les identificateurs de package, consultez [Gérer le contenu téléchargeable (DLC) et ses licences](/fr-CA/publishing/xstore-commerce/xstore-dlc).

*async*   \_Inout\_\
Type : [XAsyncBlock\*](/fr-CA/reference/system/xasync/structs/xasyncblock)

Un [XAsyncBlock](/fr-CA/reference/system/xasync/structs/xasyncblock) qui définit le travail asynchrone en cours.
Le [XAsyncBlock](/fr-CA/reference/system/xasync/structs/xasyncblock) peut être utilisé pour interroger l'état de l'appel et récupérer les résultats de l'appel.
Pour plus d'informations, consultez [XAsyncBlock](/fr-CA/reference/system/xasync/structs/xasyncblock).

### Valeur de retour

Type : HRESULT

Code de réussite ou d'erreur HRESULT.

## Remarques

Pour récupérer la licence d'aperçu et le résultat de l'exécution de cette fonction, appelez [XStoreCanAcquireLicenseForPackageResult](/fr-CA/reference/system/xstore/functions/xstorecanacquirelicenseforpackageresult) après avoir appelé cette fonction.
Cette fonction nécessite une connexion en ligne et vérifie uniquement si la licence d'un package peut être acquise.
Pour acquérir une licence pour un package, appelez [XStoreAcquireLicenseForPackageAsync](/fr-CA/reference/system/xstore/functions/xstoreacquirelicenseforpackageasync).

Cet extrait de code montre un exemple d'utilisation des API suivantes :

* [XStoreCanAcquireLicenseForPackageAsync](/fr-CA/reference/system/xstore/functions/xstorecanacquirelicenseforpackageasync)
* [XStoreCanAcquireLicenseForPackageResult](/fr-CA/reference/system/xstore/functions/xstorecanacquirelicenseforpackageresult)

```cpp theme={null}
void CALLBACK CanAcquireLicenseForPackageCallback(XAsyncBlock* asyncBlock)
{
    XStoreCanAcquireLicenseResult canAcquireLicenseResult{};

    HRESULT hr = XStoreCanAcquireLicenseForPackageResult(
        asyncBlock,
        &canAcquireLicenseResult);

    if (FAILED(hr))
    {
        printf("Failed retrieve the license result: 0x%x\r\n", hr);
        return;
    }

    printf("status       : %d\r\n", canAcquireLicenseResult.status);
    printf("licensableSku: %s\r\n", canAcquireLicenseResult.licensableSku);
}

void CanAcquireLicenseForPackage(XStoreContextHandle storeContextHandle, XTaskQueueHandle taskQueueHandle, const char* packageIdentifier)
{
    auto asyncBlock = std::make_unique<XAsyncBlock>();
    ZeroMemory(asyncBlock.get(), sizeof(*asyncBlock));
    asyncBlock->queue = taskQueueHandle;
    asyncBlock->callback = CanAcquireLicenseForPackageCallback;

    HRESULT hr = XStoreCanAcquireLicenseForPackageAsync(
        storeContextHandle,
        packageIdentifier,
        asyncBlock.get());

    if (FAILED(hr))
    {
        printf("Failed to get preview license for package: 0x%x\r\n", hr);
        return;
    }
}


```

## Configuration requise

**En-tête :** XStore.h (inclus dans XGameRuntime.h)

**Bibliothèque :** xgameruntime.lib

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

## Documentation conceptuelle

* [Accorder aux joueurs l'accès au contenu de modules complémentaires](/fr-CA/publishing/xstore-commerce/xstore-granting-access)
* [Gérer le contenu téléchargeable (DLC) et ses licences](/fr-CA/publishing/xstore-commerce/xstore-dlc)
* [Activation des tests de licence](/fr-CA/publishing/xstore-commerce/xstore-licensing-setup)

## Voir aussi

[XStore](/fr-CA/reference/system/xstore/xstore_members)\
[XStoreCanAcquireLicenseForPackageResult](/fr-CA/reference/system/xstore/functions/xstorecanacquirelicenseforpackageresult)\
[XStoreAcquireLicenseForPackageAsync](/fr-CA/reference/system/xstore/functions/xstoreacquirelicenseforpackageasync)\
[Gérer le contenu téléchargeable (DLC) et ses licences](/fr-CA/publishing/xstore-commerce/xstore-dlc)


## Related topics

- [XStoreCanAcquireLicenseForPackageAsync](/reference/system/xstore/functions/xstorecanacquirelicenseforpackageasync.md)
- [XStoreCanAcquireLicenseForPackageResult](/reference/system/xstore/functions/xstorecanacquirelicenseforpackageresult.md)
- [XStoreAcquireLicenseForPackageAsync](/reference/system/xstore/functions/xstoreacquirelicenseforpackageasync.md)
- [XStoreCanAcquireLicenseResult](/ja-jp/reference/system/xstore/structs/xstorecanacquirelicenseresult.md)
