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

# XPackageEnumerateChunkAvailability

> XPackageEnumerateChunkAvailability

# XPackageEnumerateChunkAvailability

Examina o pacote de instalação e enumera a disponibilidade de todas as partes que correspondem aos seletores especificados.

## Sintaxe

```cpp theme={null}
HRESULT XPackageEnumerateChunkAvailability(  
         const char* packageIdentifier,  
         XPackageChunkSelectorType type,  
         void* context,  
         XPackageChunkAvailabilityCallback* callback  
)  
```

### Parâmetros

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

Uma cadeia de caracteres que identifica exclusivamente o pacote instalado no disco. Para obter mais informações sobre identificadores de pacote, consulte [Gerenciar e licenciar conteúdo para download (DLC)](/pt-BR/publishing/xstore-commerce/xstore-dlc).

*type*   \_In\_\
Tipo: [XPackageChunkSelectorType](/pt-BR/reference/system/xpackage/enums/xpackagechunkselectortype)

O tipo de atributos a serem enumerados.

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

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

*callback*   \_In\_\
Tipo: [XPackageChunkAvailabilityCallback\*](/pt-BR/reference/system/xpackage/functions/xpackagechunkavailabilitycallback)

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>

**XPackageEnumerateChunkAvailability** é usada para examinar o pacote e enumerar a disponibilidade de todos os seletores de um tipo específico. Por exemplo, chamá-la com **XPackageChunkSelectorType::Language** enumerará todos os atributos de idioma no pacote, bem como sua disponibilidade.

No exemplo abaixo, um jogo mostrará todos os idiomas compatíveis e permitirá que o usuário instale ou remova um idioma. Para fazer isso, o jogo consultará o pacote para determinar quais idiomas estão disponíveis e se estão instalados.

```cpp theme={null}
HRESULT GetPackageLanguages(_Out_ std::map<std::string, bool>& languages)
{
    char id[XPACKAGE_IDENTIFIER_MAX_LENGTH];

    HRESULT hr = XPackageGetCurrentProcessPackageIdentifier(_countof(id), id);
    if (FAILED(hr)) return hr;

    hr = XPackageEnumerateChunkAvailability(id,
        XPackageChunkSelectorType::Language, &languages,
        [](void* context, const XPackageChunkSelector* sel, XPackageChunkAvailability av)
    {
        auto languages = static_cast<std::map<std::string, bool>*>(context);
        switch (av)
        {
        case XPackageChunkAvailability::Ready:
        case XPackageChunkAvailability::Pending:
            languages->emplace(sel->language, true);
            break;

        case XPackageChunkAvailability::Installable:
            languages->emplace(sel->language, false);
            break;

        case XPackageChunkAvailability::Unavailable:
        default:
            break;
        }
        return true;
    });

    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

* [Threads sensíveis ao tempo](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## Confira também

[XPackage](/pt-BR/reference/system/xpackage/xpackage_members)\
[Instalação por streaming e Intelligent Delivery](/pt-BR/build/core-features/common/packaging/overviews/streaming_install-intelligent_delivery)


## Related topics

- [XPackageChunkAvailabilityCallback](/pt-BR/reference/system/xpackage/functions/xpackagechunkavailabilitycallback.md)
- [XPackage](/pt-BR/reference/system/xpackage/xpackage_members.md)
- [Wrappers de API C# do Unity para o GDK](/pt-BR/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [XPackageChunkAvailability](/pt-BR/reference/system/xpackage/enums/xpackagechunkavailability.md)
- [XPackageFindChunkAvailability](/pt-BR/reference/system/xpackage/functions/xpackagefindchunkavailability.md)
