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

# XStoreShowGiftingUIAsync

> XStoreShowGiftingUIAsync

# XStoreShowGiftingUIAsync

Lance la superposition d'interface utilisateur permettant d'acheter le produit spécifié en cadeau pour un autre utilisateur. L'utilisateur actuel sera invité à entrer des informations sur le destinataire du cadeau et sera guidé tout au long du processus d'achat.

## Syntaxe

```cpp theme={null}
HRESULT XStoreShowGiftingUIAsync(  
         const XStoreContextHandle storeContextHandle,  
         const char* storeId,  
         const char* name,  
         const char* extendedJsonData,  
         XAsyncBlock* async  
)  
```

### Paramètres

*storeContextHandle*   \_In\_\
Type : XStoreContextHandle

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

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

ID du produit à acheter en cadeau. **Remarque** : ce produit doit être configuré pour prendre en charge les achats en cadeau.

*name*   \_In\_opt\_z\_\
Type : char\*

Nom du produit à acheter en cadeau.

*extendedJsonData*   \_In\_opt\_z\_\
Type : char\*

Objet blob JSON transmis au processus d'achat de cadeau. Permet d'insérer des ID de campagne personnalisés afin de suivre l'origine de l'achat.

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

Un [XAsyncBlock](/fr-CA/reference/system/xasync/structs/xasyncblock) définissant 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

Le produit à acheter en cadeau doit être configuré pour prendre en charge les achats en cadeau. Pour récupérer la liste des produits qui prennent en charge les cadeaux, appelez [XStoreQueryProductsAsync](/fr-CA/reference/system/xstore/functions/xstorequeryproductsasync) avec le paramètre `actionFilters` défini sur `"Gift"`.

Pour récupérer le résultat de cette fonction, appelez [XStoreShowGiftingUIResult](/fr-CA/reference/system/xstore/functions/xstoreshowgiftinguiresult) après avoir appelé cette fonction. Cette fonction ne doit être appelée que lorsque l'utilisateur a choisi d'acheter un article en cadeau; elle amène le système à présenter une boîte de dialogue d'achat modale qui gère les informations de paiement et la confirmation de l'utilisateur hors processus.

L'extrait de code suivant montre un exemple de demande d'achat en cadeau pour un produit précis du Store.

```cpp theme={null}
void CALLBACK ShowGiftingUICallback(XAsyncBlock* asyncBlock)
{
    HRESULT hr = XStoreShowGiftingUIResult(asyncBlock);

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

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

    HRESULT hr = XStoreShowGiftingUIAsync(
        storeContextHandle,
        storeId,
        nullptr,    // Can be used to override the title bar text
        nullptr,    // Can be used to provide extra details to purchase
        asyncBlock.get());

    if (FAILED(hr))
    {
        printf("Failed to purchase: 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

## Voir aussi

[XStore](/fr-CA/reference/system/xstore/xstore_members)\
[XStoreShowGiftingUIResult](/fr-CA/reference/system/xstore/functions/xstoreshowgiftinguiresult)


## Related topics

- [XStoreShowGiftingUIAsync](/reference/system/xstore/functions/xstoreshowgiftinguiasync.md)
- [XStoreShowGiftingUIResult](/reference/system/xstore/functions/xstoreshowgiftinguiresult.md)
