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

# XPackageMountWithUiAsync

> XPackageMountWithUiAsync

# XPackageMountWithUiAsync

Monta de forma asincrónica la instalación del contenido especificado y devuelve un identificador de montaje para ella.
Muestra la interfaz de usuario de consentimiento parental si el contenido está restringido por edad según la configuración parental de todos los usuarios que han iniciado sesión.

## Sintaxis

```cpp theme={null}
HRESULT XPackageMountWithUiAsync(
  const char * packageIdentifier,
  XAsyncBlock * async
) noexcept;
```

### Parámetros

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

Una cadena que identifica de forma única el paquete instalado en el disco.
Pase el campo packageIdentifier de la estructura [XPackageDetails](/reference/system/xpackage/structs/xpackagedetails) devuelta por [XPackageEnumerationCallback](/reference/system/xpackage/functions/xpackageenumerationcallback).
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 \*

Un **XAsyncBlock** para supervisar el estado de la llamada asincrónica.

### Valor devuelto

Tipo: HRESULT

HRESULT de éxito o código de error.

## Comentarios

Esta API muestra al usuario un mensaje de consentimiento parental si la API monta contenido que no es apropiado para la edad de todos los usuarios que han iniciado sesión.
Si un usuario adulto aprueba el consentimiento parental en el mensaje, la API intenta montar el paquete.
Si un usuario adulto deniega el consentimiento parental en el mensaje, la API no monta el paquete.

Esta API llama automáticamente a [XStoreAcquireLicenseForPackageAsync](/reference/system/xstore/functions/xstoreacquirelicenseforpackageasync) / [Result](/reference/system/xstore/functions/xstoreacquirelicenseforpackageresult) y a [XStoreIsLicenseValid](/reference/system/xstore/functions/xstoreislicensevalid).
Si la API no puede adquirir una licencia válida para el DLC, el montaje falla.

En este ejemplo de código, un juego representa el DLC en blanco y negro si el contenido está restringido por edad.
El código externo del juego llama a `MountDlc` cuando el usuario selecciona una pieza de DLC para usarla.

```cpp theme={null}
extern void RenderDlc(const char* packageId, const char* displayName, bool monochrome); 

void ShowDlc() 
{ 
// Enumerate all DLC for the game and render it to the user 
XPackageEnumeratePackages(XPackageKind::Content, XPackageEnumerationScope::ThisAndRelated, nullptr,
 [](void*, const XPackageDetails* details) 
  {     
        RenderDlc(details->packageIdentifier,
                  details->displayName, 
                  details->ageRestricted);
  }); 
} 

 HRESULT MountDlc(const char* packageId, XPackageMountHandle* handle)
 {  
    XAsync async{};  
    RETURN_IF_FAILED(XPackageMountWithUiAsync(packageId, &async));
    RETURN_IF_FAILED(XAsyncGetStatus(&async, true));
    RETURN_IF_FAILED(XPackageMountWithUiResult(&async, handle));  
    return S_OK; 
} 
```

## Requisitos

**Encabezado:** XPackage.h

**Biblioteca:** xgameruntime.lib

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

## Documentación conceptual

* [Compatibilidad con juegos como servicio (GaaS)](/build/core-features/common/packaging/supporting-games-as-a-service)

## Consulte también

[XPackageMountWithUiResult](/reference/system/xpackage/functions/xpackagemountwithuiresult)
[XPackage](/reference/system/xpackage/xpackage_members)\
[XPackageEnumeratePackages](/reference/system/xpackage/functions/xpackageenumeratepackages)\
[XPackageEnumerationCallback](/reference/system/xpackage/functions/xpackageenumerationcallback)\
[XPackageDetails](/reference/system/xpackage/structs/xpackagedetails)\
[XPackageGetMountPath](/reference/system/xpackage/functions/xpackagegetmountpath)\
[XPackageGetMountPathSize](/reference/system/xpackage/functions/xpackagegetmountpathsize)\
[Cómo crear y usar paquetes de contenido descargable (DLC) para PC y XBOX One](/build/core-features/common/packaging/packaging-downloadable-content-dlc)


## Related topics

- [[EN DESUSO] XPackageMount](/es/reference/system/xpackage/functions/xpackagemount.md)
- [Compatibilidad con Games-as-a-Service (GaaS)](/es/build/core-features/common/packaging/supporting-games-as-a-service.md)
- [XPackage](/es/reference/system/xpackage/xpackage_members.md)
- [XStoreAcquireLicenseForPackageAsync](/es/reference/system/xstore/functions/xstoreacquirelicenseforpackageasync.md)
- [Contenedores de API de C# de Unity para el GDK](/es/build/gdk-and-engines/unity/unity-api-wrappers.md)
