> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XPackageMountWithUiAsync

> XPackageMountWithUiAsync

# XPackageMountWithUiAsync

Monta de forma assíncrona a instalação do conteúdo especificado e retorna um identificador de montagem para ela.
Mostra a interface do usuário de consentimento dos pais se o conteúdo tiver restrição de idade com base nas configurações de controle dos pais de todos os usuários conectados.

## Sintaxe

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

### Parâmetros

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

Uma cadeia de caracteres que identifica exclusivamente o pacote instalado no disco.
Passe o campo packageIdentifier da estrutura [XPackageDetails](https://docs.xbox.com/pt-BR/reference/system/xpackage/structs/xpackagedetails.md) retornada de  [XPackageEnumerationCallback](https://docs.xbox.com/pt-BR/reference/system/xpackage/functions/xpackageenumerationcallback.md).
Para obter mais informações sobre identificadores de pacote, consulte [Gerenciar e licenciar conteúdo baixável (DLC)](https://docs.xbox.com/pt-BR/publishing/xstore-commerce/xstore-dlc.md).

*async*  \_Inout\_\
Tipo: XAsyncBlock \*

Um **XAsyncBlock** para monitorar o status da chamada assíncrona.

### Valor retornado

Tipo: HRESULT

Código de sucesso ou de erro HRESULT.

## Comentários

Esta API mostra um prompt de consentimento dos pais ao usuário se a API montar conteúdo que não seja apropriado para a idade de todos os usuários conectados.
Se um usuário adulto aprovar o consentimento dos pais no prompt, a API tentará montar o pacote.
Se um usuário adulto negar o consentimento dos pais no prompt, a API não conseguirá montar o pacote.

Esta API chama automaticamente [XStoreAcquireLicenseForPackageAsync](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreacquirelicenseforpackageasync.md) / [Result](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreacquirelicenseforpackageresult.md) e [XStoreIsLicenseValid](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreislicensevalid.md).
Se a API não conseguir adquirir uma licença válida para o DLC, a montagem falhará.

Neste exemplo de código, um jogo renderiza o DLC em preto e branco se o conteúdo tiver restrição de idade.
O código externo no jogo chama `MountDlc` quando o usuário seleciona um item de DLC para usar.

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

**Cabeçalho:** XPackage.h

**Biblioteca:** xgameruntime.lib

**Plataformas compatíveis:** Windows, consoles da família XBOX One e consoles XBOX Series

## Documentação conceitual

* [Suporte a jogos como serviço (GaaS)](https://docs.xbox.com/pt-BR/build/core-features/common/packaging/supporting-games-as-a-service.md)

## Confira também

[XPackageMountWithUiResult](https://docs.xbox.com/pt-BR/reference/system/xpackage/functions/xpackagemountwithuiresult.md)
[XPackage](https://docs.xbox.com/pt-BR/reference/system/xpackage/xpackage_members.md)\
[XPackageEnumeratePackages](https://docs.xbox.com/pt-BR/reference/system/xpackage/functions/xpackageenumeratepackages.md)\
[XPackageEnumerationCallback](https://docs.xbox.com/pt-BR/reference/system/xpackage/functions/xpackageenumerationcallback.md)\
[XPackageDetails](https://docs.xbox.com/pt-BR/reference/system/xpackage/structs/xpackagedetails.md)\
[XPackageGetMountPath](https://docs.xbox.com/pt-BR/reference/system/xpackage/functions/xpackagegetmountpath.md)\
[XPackageGetMountPathSize](https://docs.xbox.com/pt-BR/reference/system/xpackage/functions/xpackagegetmountpathsize.md)\
[Como criar e usar pacotes de conteúdo baixável (DLC) para PC e XBOX One](https://docs.xbox.com/pt-BR/build/core-features/common/packaging/packaging-downloadable-content-dlc.md)


## Related topics

- [XPackageMount](https://docs.xbox.com/pt-BR/reference/system/xpackage/functions/xpackagemount.md)
- [Suporte a Games-as-a-Service (GaaS)](https://docs.xbox.com/pt-BR/build/core-features/common/packaging/supporting-games-as-a-service.md)
- [XPackage (conteúdo da API)](https://docs.xbox.com/pt-BR/reference/system/xpackage/xpackage_members.md)
- [XStoreAcquireLicenseForPackageAsync](https://docs.xbox.com/pt-BR/reference/system/xstore/functions/xstoreacquirelicenseforpackageasync.md)
- [Pacotes de Publisher Content](https://docs.xbox.com/pt-BR/build/core-features/common/packaging/packaging-publisher-content.md)
