> ## 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 tant que cadeau pour un autre utilisateur. L'utilisateur actuel est invité à saisir des informations sur le destinataire du cadeau, puis il est 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 de l'utilisateur, retourné par [XStoreCreateContext](/fr/reference/system/xstore/functions/xstorecreatecontext).

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

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

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

Nom du produit à acheter en tant que cadeau.

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

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/reference/system/xasync/structs/xasyncblock)

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

### Valeur de retour

Type : HRESULT

Code de réussite ou d'erreur HRESULT.

## Remarques

Le produit à acheter en tant que cadeau doit être configuré pour prendre en charge les achats de cadeaux. Pour récupérer la liste des produits qui prennent en charge les cadeaux, appelez [XStoreQueryProductsAsync](/fr/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/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 quelque chose en tant que 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 de cadeau pour un produit Store particulier.

```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/reference/system/xstore/xstore_members)\
[XStoreShowGiftingUIResult](/fr/reference/system/xstore/functions/xstoreshowgiftinguiresult)


## Related topics

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