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

# XStoreCanAcquireLicenseForStoreIdAsync

> XStoreCanAcquireLicenseForStoreIdAsync

# XStoreCanAcquireLicenseForStoreIdAsync

Recupera uma licença de visualização para conteúdo licenciável, incluindo duráveis com ou sem pacotes e conteúdo em um disco inserido no momento.
Esta API permite que o jogo veja se o produto pode ser licenciado, mas sem realmente adquirir a licença.

## Sintaxe

```cpp theme={null}
HRESULT XStoreCanAcquireLicenseForStoreIdAsync(  
         const XStoreContextHandle storeContextHandle,  
         const char* storeProductId,  
         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).

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

StoreID do produto a ser verificado

*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.
Para obter mais informações, consulte [XAsyncBlock](/pt-BR/reference/system/xasync/structs/xasyncblock).

### Valor retornado

Tipo: HRESULT

Código de êxito ou de erro HRESULT.

## Comentários

**XStoreCanAcquireLicenseForStoreIdAsync** permite que um jogo determine se o usuário poderia adquirir uma licença para um determinado conteúdo sem realmente adquirir essa licença e consumir o slot de simultaneidade desse usuário.
Esta função não precisa ser usada para o jogo em execução no momento, pois ele já tem uma licença, mas pode determinar se o usuário possui outros jogos ou conteúdos do mesmo editor.
Por exemplo, um jogo pode usar esta API para determinar se deve recompensar usuários que possuem versões anteriores do jogo (seja digitalmente ou por meio de um disco inserido) ou para oferecer produtos adicionais ao usuário.

Para recuperar a licença de visualização e o resultado da execução desta função, chame [XStoreCanAcquireLicenseForStoreIdResult](/pt-BR/reference/system/xstore/functions/xstorecanacquirelicenseforstoreidresult) depois de chamar esta função.

Este snippet de código mostra um exemplo de uso das seguintes APIs:

* **XStoreCanAcquireLicenseForStoreIdAsync**
* [XStoreCanAcquireLicenseForStoreIdResult](/pt-BR/reference/system/xstore/functions/xstorecanacquirelicenseforstoreidresult)

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

    HRESULT hr = XStoreCanAcquireLicenseForStoreIdResult(
        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 CanAcquireLicenseForStoreId(XStoreContextHandle storeContextHandle, XTaskQueueHandle taskQueueHandle, const char* storeId)
{
    auto asyncBlock = std::make_unique<XAsyncBlock>();
    ZeroMemory(asyncBlock.get(), sizeof(*asyncBlock));
    asyncBlock->queue = taskQueueHandle;
    asyncBlock->callback = CanAcquireLicenseForStoreIdCallback;

    HRESULT hr = XStoreCanAcquireLicenseForStoreIdAsync(
        storeContextHandle,
        storeId,
        asyncBlock.get());

    if (FAILED(hr))
    {
        printf("Failed to get preview license for store ID: 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

## Documentação conceitual

* [Concedendo aos jogadores acesso a conteúdo complementar](/pt-BR/publishing/xstore-commerce/xstore-granting-access)
* [Gerenciar e licenciar conteúdo para download (DLC)](/pt-BR/publishing/xstore-commerce/xstore-dlc)
* [Habilitar testes de licenciamento](/pt-BR/publishing/xstore-commerce/xstore-licensing-setup)

## Confira também

[XStore](/pt-BR/reference/system/xstore/xstore_members)\
[XStoreCanAcquireLicenseForStoreIdResult](/pt-BR/reference/system/xstore/functions/xstorecanacquirelicenseforstoreidresult)\
[Como usar um durável sem pacote](/pt-BR/publishing/xstore-commerce/xstore-dwob)\
[Concedendo aos jogadores acesso a conteúdo complementar](/pt-BR/publishing/xstore-commerce/xstore-granting-access)


## Related topics

- [XStoreCanAcquireLicenseForStoreIdAsync](/reference/system/xstore/functions/xstorecanacquirelicenseforstoreidasync.md)
- [XStoreCanAcquireLicenseForStoreIdResult](/reference/system/xstore/functions/xstorecanacquirelicenseforstoreidresult.md)
