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

Inicia a sobreposição da interface do usuário para comprar o produto especificado como presente para outro usuário. O usuário atual será solicitado a inserir informações sobre o destinatário do presente e será guiado pelo fluxo de compra.

## Sintaxe

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

### Parâmetros

*storeContextHandle*   \_In\_\
Tipo: XStoreContextHandle

O identificador de contexto da loja para o usuário retornado por [XStoreCreateContext](/pt-BR/reference/system/xstore/functions/xstorecreatecontext).

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

ID do produto a ser comprado como presente. **Observação**: esse produto deve estar configurado para dar suporte a compras para presente.

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

Nome do produto a ser comprado como presente.

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

Um blob JSON que é entregue ao fluxo de compra de presente. Permite a inserção de IDs de campanha personalizadas, para que você possa rastrear como a compra foi iniciada.

*async*   \_Inout\_\
Tipo: [XAsyncBlock\*](/pt-BR/reference/system/xasync/structs/xasyncblock)

Um [XAsyncBlock](/pt-BR/reference/system/xasync/structs/xasyncblock) que define o trabalho assíncrono que está sendo feito. O [XAsyncBlock](/pt-BR/reference/system/xasync/structs/xasyncblock) pode ser usado para sondar o status da chamada e recuperar os resultados da chamada. Confira [XAsyncBlock](/pt-BR/reference/system/xasync/structs/xasyncblock) para obter mais informações.

### Valor retornado

Tipo: HRESULT

Código de êxito ou de erro HRESULT.

## Comentários

O produto a ser comprado como presente deve estar configurado para dar suporte a compras para presente. Para recuperar a lista de produtos que dão suporte a presentes, chame [XStoreQueryProductsAsync](/pt-BR/reference/system/xstore/functions/xstorequeryproductsasync) com o parâmetro `actionFilters` definido como `"Gift"`.

Para recuperar o resultado desta função, chame [XStoreShowGiftingUIResult](/pt-BR/reference/system/xstore/functions/xstoreshowgiftinguiresult) após chamar esta função. Esta função só deve ser chamada quando o usuário tiver optado por comprar algo como presente, e fará com que o sistema apresente uma caixa de diálogo modal de compra que lida com as informações de pagamento e a confirmação do usuário fora do processo.

O snippet de código a seguir mostra um exemplo de solicitação de compra de presente para um produto específico da loja.

```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;
    }
}


```

## Requisitos

**Cabeçalho:** XStore.h (incluído em XGameRuntime.h)

**Biblioteca:** xgameruntime.lib

**Plataformas com suporte:** Windows, consoles da família XBOX One e consoles XBOX Series

## Confira também

[XStore](/pt-BR/reference/system/xstore/xstore_members)\
[XStoreShowGiftingUIResult](/pt-BR/reference/system/xstore/functions/xstoreshowgiftinguiresult)


## Related topics

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