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

Recupera una licencia de vista previa para DLC (duradero con paquete).
Esta API permite que el juego compruebe si se puede conceder una licencia para el paquete del duradero, pero sin adquirir realmente la licencia.

## Sintaxis

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

### Parámetros

*storeContextHandle*   \_In\_\
Tipo: XStoreContextHandle

El identificador de contexto de la tienda para el usuario, devuelto por [XStoreCreateContext](/reference/system/xstore/functions/xstorecreatecontext).

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

Una cadena que identifica de forma única un paquete de la tienda. Para obtener más información sobre los identificadores de paquete, consulte [Administración y concesión de licencias de contenido descargable (DLC)](/publishing/xstore-commerce/xstore-dlc).

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

Un [XAsyncBlock](/reference/system/xasync/structs/xasyncblock) que define el trabajo asincrónico que se está realizando.
El [XAsyncBlock](/reference/system/xasync/structs/xasyncblock) se puede usar para sondear el estado de la llamada y recuperar los resultados de la llamada.
Consulte [XAsyncBlock](/reference/system/xasync/structs/xasyncblock) para obtener más información.

### Valor devuelto

Tipo: HRESULT

HRESULT de éxito o código de error.

## Comentarios

Para recuperar la licencia de vista previa y el resultado de la ejecución de esta función, llame a [XStoreCanAcquireLicenseForPackageResult](/reference/system/xstore/functions/xstorecanacquirelicenseforpackageresult) después de llamar a esta función.
Esta función requiere una conexión en línea y solo comprueba si se puede adquirir la licencia de un paquete.
Para adquirir una licencia para un paquete, llame a [XStoreAcquireLicenseForPackageAsync](/reference/system/xstore/functions/xstoreacquirelicenseforpackageasync).

Este fragmento de código muestra un ejemplo de uso de las siguientes API:

* [XStoreCanAcquireLicenseForPackageAsync](/reference/system/xstore/functions/xstorecanacquirelicenseforpackageasync)
* [XStoreCanAcquireLicenseForPackageResult](/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;
    }
}


```

## Requisitos

**Encabezado:** XStore.h (incluido en XGameRuntime.h)

**Biblioteca:** xgameruntime.lib

**Plataformas compatibles:** Windows, consolas de la familia XBOX One y consolas XBOX Series

## Documentación conceptual

* [Concesión a los jugadores de acceso a contenido de complementos](/publishing/xstore-commerce/xstore-granting-access)
* [Administración y concesión de licencias de contenido descargable (DLC)](/publishing/xstore-commerce/xstore-dlc)
* [Habilitación de las pruebas de licencias](/publishing/xstore-commerce/xstore-licensing-setup)

## Consulte también

[XStore](/reference/system/xstore/xstore_members)\
[XStoreCanAcquireLicenseForPackageResult](/reference/system/xstore/functions/xstorecanacquirelicenseforpackageresult)\
[XStoreAcquireLicenseForPackageAsync](/reference/system/xstore/functions/xstoreacquirelicenseforpackageasync)\
[Administración y concesión de licencias de contenido descargable (DLC)](/publishing/xstore-commerce/xstore-dlc)


## Related topics

- [XStoreCanAcquireLicenseForPackageResult](/es/reference/system/xstore/functions/xstorecanacquirelicenseforpackageresult.md)
- [XStoreAcquireLicenseForPackageAsync](/es/reference/system/xstore/functions/xstoreacquirelicenseforpackageasync.md)
- [XStoreCanAcquireLicenseResult](/es/reference/system/xstore/structs/xstorecanacquirelicenseresult.md)
- [XStoreCanLicenseStatus](/es/reference/system/xstore/enums/xstorecanlicensestatus.md)
- [Habilitación de las pruebas de licencias](/es/publishing/xstore-commerce/xstore-licensing-setup.md)
