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

# XPackageEnumeratePackages

> XPackageEnumeratePackages

# XPackageEnumeratePackages

Localiza pacotes que já estão instalados, ou sendo instalados, e que estão relacionados ao processo de chamada.

## Sintaxe

```cpp theme={null}
HRESULT XPackageEnumeratePackages(  
         XPackageKind kind,  
         XPackageEnumerationScope scope,  
         void* context,  
         XPackageEnumerationCallback* callback  
)  
```

### Parâmetros

*kind*   \_In\_\
Tipo: [XPackageKind](/pt-BR/reference/system/xpackage/enums/xpackagekind)

O tipo de pacotes de instalação a serem enumerados.

*scope*   \_In\_\
Tipo: [XPackageEnumerationScope](/pt-BR/reference/system/xpackage/enums/xpackageenumerationscope)

O escopo dos pacotes de instalação.

*context*   \_In\_opt\_\
Tipo: void\*

Contexto a ser passado para o retorno de chamada especificado no parâmetro *callback*.

*callback*   \_In\_\
Tipo: XPackageEnumerationCallback\*

Um retorno de chamada a ser chamado na conclusão.

### Valor retornado

Tipo: HRESULT

Código de sucesso ou de erro HRESULT.

## Comentários

<Note>Não é seguro chamar esta função em um thread sensível ao tempo. Para obter mais informações, consulte [Threads sensíveis ao tempo](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).</Note>

Use **XPackageEnumeratePackages** para localizar pacotes que já estão instalados, ou sendo instalados, e que estão relacionados ao processo de chamada. Essa função pode localizar pacotes de conteúdo, bem como pacotes de aplicativos. Ela fornece detalhes sobre uma instalação por meio de uma estrutura XPackageDetails.

Se o pacote ainda estiver sendo instalado, a propriedade **installing** será definida como true e você poderá criar um monitor de instalação para permitir que o identificador do pacote monitore o progresso da instalação.

Não há notificações genéricas da fila de instalação; a intenção é usar [XPackageEnumeratePackages](/pt-BR/reference/system/xpackage/functions/xpackageenumeratepackages) para mostrar e acompanhar os itens em andamento. Também não há uma API para interromper, iniciar ou cancelar uma instalação. Da perspectiva de um jogo, a instalação deve cuidar de si mesma. Os erros são repetidos automaticamente e são invisíveis para o jogo.

A saída da API, quando chamada com o valor [XPackageKind::Game](/pt-BR/reference/system/xpackage/enums/xpackagekind), dependendo do valor de [XPackageEnumerationScope](/pt-BR/reference/system/xpackage/enums/xpackageenumerationscope), será:

| Escopo | Hub de jogos de franquia | Jogo compatível com hub | Jogo não compatível com hub |
| - | - | - | - |
| ThisOnly | Somente o hub de jogos de franquia | Somente o jogo compatível com hub | Somente o jogo não compatível com hub |
| ThisAndRelated | O hub de jogos de franquia, todos os jogos compatíveis com hub associados a ele e todos os RelatedProducts | O jogo compatível com hub e todos os RelatedProducts | O jogo não compatível com hub e todos os RelatedProducts |
| ThisPublisher | Todos os produtos de jogo pertencentes ao mesmo editor que o processo atual | Todos os produtos de jogo pertencentes ao mesmo editor que o processo atual | Todos os produtos de jogo pertencentes ao mesmo editor que o processo atual |

A saída da API, quando chamada com o valor [XPackageKind::Content](/pt-BR/reference/system/xpackage/enums/xpackagekind), dependendo do valor de [XPackageEnumerationScope](/pt-BR/reference/system/xpackage/enums/xpackageenumerationscope), será:

| Escopo | Hub de jogos de franquia | Jogo compatível com hub | Jogo não compatível com hub |
| - | - | - | - |
| ThisOnly | Os DLCs relacionados a esse hub de jogos de franquia | Os DLCs relacionados a esse jogo compatível com hub | Os DLCs relacionados a esse jogo não compatível com hub |
| ThisAndRelated | Os DLCs relacionados a esse hub de jogos de franquia, aos seus títulos compatíveis com hub e a todos os seus RelatedProducts | Os DLCs relacionados a esse jogo compatível com hub e a todos os seus RelatedProducts | Os DLCs relacionados a esse jogo não compatível com hub e a todos os seus RelatedProducts |
| ThisPublisher | Todos os DLCs (do mesmo editor ou de outros editores) relacionados a um jogo base do mesmo editor que o processo atual | Todos os DLCs (do mesmo editor ou de outros editores) relacionados a um jogo base do mesmo editor que o processo atual | Todos os DLCs (do mesmo editor ou de outros editores) relacionados a um jogo base do mesmo editor que o processo atual |

Exemplo:

```cpp theme={null}
bool CALLBACK ListDlcCallback(
    void* /* context */,
    const XPackageDetails* details)
{
    printf("Found dlc: %s\n", details->displayName);
    return true; // continue enumerating
}

HRESULT ListDlc()
{
    HRESULT hr = XPackageEnumeratePackages(
        XPackageKind::Content,                      /* Looking for content packages (DLC) */
        XPackageEnumerationScope::ThisAndRelated,   /* For this game and related games*/
        nullptr, ListDlcCallback);
    return hr;
}
```

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

* [Intelligent Delivery: especificadores de idioma](/pt-BR/build/core-features/common/packaging/intelligentdelivery-language)
* [Pacotes de conteúdo para download (DLC) do GDK](/pt-BR/build/core-features/common/packaging/packaging-downloadable-content-dlc)
* [Threads sensíveis ao tempo](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)
* [Verificando atualizações](/pt-BR/publishing/xstore-commerce/xstore-checking-updates)
* [Gerenciar e licenciar conteúdo para download (DLC)](/pt-BR/publishing/xstore-commerce/xstore-dlc)

## Confira também

[XPackage](/pt-BR/reference/system/xpackage/xpackage_members)\
[Hubs de jogos de franquia](https://learn.microsoft.com/gaming/gdk/docs/store/franchise-game-hubs)\
[Como criar e usar pacotes de conteúdo para download (DLC) para PC e XBOX One](/pt-BR/build/core-features/common/packaging/packaging-downloadable-content-dlc)


## Related topics

- [XPackageEnumeratePackages](/reference/system/xpackage/functions/xpackageenumeratepackages.md)
- [XPackageGetPackageKind](/reference/system/xpackage/functions/xpackagegetpackagekind.md)
