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

# XPackageInstallChunks

> XPackageInstallChunks

# XPackageInstallChunks

Inicia a instalação de partes.

## Sintaxe

```cpp theme={null}
HRESULT XPackageInstallChunks(  
         const char* packageIdentifier,  
         uint32_t selectorCount,  
         XPackageChunkSelector* selectors,  
         uint32_t minimumUpdateIntervalMs,  
         bool suppressUserConfirmation,  
         XTaskQueueHandle queue,  
         XPackageInstallationMonitorHandle* installationMonitor  
)  
```

### 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 baixável (DLC)](/pt-BR/publishing/xstore-commerce/xstore-dlc).

*selectorCount*   \_In\_\
Tipo: uint32\_t

O número de seletores no parâmetro *selectors*.

*selectors*   \_In\_reads\_(selectorCount)\
Tipo: [XPackageChunkSelector\*](/pt-BR/reference/system/xpackage/structs/xpackagechunkselector)

Uma matriz de seletores que especificam as partes a serem instaladas.

*minimumUpdateIntervalMs*   \_In\_\
Tipo: uint32\_t

O intervalo entre atualizações, em milissegundos.

*suppressUserConfirmation*   \_In\_\
Tipo: bool

Se as partes a serem instaladas excederem um tamanho predefinido, um prompt de confirmação será exibido. Se *suppressUserConfirmation* for true, nenhum prompt será exibido e a instalação prosseguirá como se o usuário tivesse aceitado. Isso permite que o jogo apresente sua própria interface do usuário. Se o jogo usar esse recurso, ele também deverá chamar [XPackageEstimateDownloadSize](/pt-BR/reference/system/xpackage/functions/xpackageestimatedownloadsize) para obter o tamanho que será apresentado ao usuário. [XPackageEstimateDownloadSize](/pt-BR/reference/system/xpackage/functions/xpackageestimatedownloadsize) também retorna um booliano para indicar se o tamanho é grande o suficiente para que um prompt seja exibido. Se for necessária uma confirmação de download, o jogo deverá exibi-la usando sua própria interface do usuário ou permitir que **XPackageInstallChunks** a exiba.

*queue*   \_In\_opt\_\
Tipo: XTaskQueueHandle

A fila assíncrona na qual o trabalho será executado.

*installationMonitor*   \_Out\_\
Tipo: XPackageInstallationMonitorHandle\*

No retorno, contém um identificador para um monitor de instalação que monitorará a instalação das partes que correspondem ao seletor.

### Valor retornado

Tipo: HRESULT

Código de sucesso ou de erro HRESULT.\
Retorna um erro de cancelamento se a instalação for rejeitada.

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

A instalação de partes pode envolver solicitar que o usuário aceite o tamanho do download.

* Se você usar a versão síncrona desta API, ela ficará bloqueada até que o usuário aceite ou recuse o download. Se o usuário recusar, a chamada falhará com o erro de cancelamento E\_ABORT. Ela retornará um monitor de instalação que você pode usar para monitorar o status da instalação. O monitor deve ser fechado em algum momento, chamando XPackageCloseInstallationMonitorHandle.
* Definir suppressUserConfirmation como true permitirá que você forneça uma interface do usuário personalizada que solicitará o download ao usuário.

Este exemplo instalará as partes que correspondem à marca "BigMaps":

```cpp theme={null}
void CALLBACK BigMapsInstallProgress(
    void* /* context */,
    XPackageInstallationMonitorHandle monitor)
{
    XPackageInstallationProgress progress;
    XPackageGetInstallationProgress(monitor, &progress);
    if (progress.completed)
    {
        printf("BigMaps Installed\n");
        XPackageCloseInstallationMonitorHandle(monitor);
    }
}

HRESULT InstallBigMaps(XTaskQueueHandle queue)
{
    char id[XPACKAGE_IDENTIFIER_MAX_LENGTH];
    HRESULT hr = XPackageGetCurrentProcessPackageIdentifier(_countof(id), id);
    if (FAILED(hr)) return hr;

    XPackageChunkSelector selector;
    selector.type = XPackageChunkSelectorType::Tag;
    selector.tag = "BigMaps";

    XPackageInstallationMonitorHandle monitor;
    hr = XPackageInstallChunks(id, 1, &selector, 1000, false, queue, &monitor);

    if (SUCCEEDED(hr))
    {
        XTaskQueueRegistrationToken token;
        hr = XPackageRegisterInstallationProgressChanged(
            monitor,
            nullptr,
            BigMapsInstallProgress,
            &token);

        if (FAILED(hr))
        {
            XPackageCloseInstallationMonitorHandle(monitor);
        }
    }

    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 marca personalizados](/pt-BR/build/core-features/common/packaging/intelligentdelivery-custom)
* [Intelligent Delivery: recursos e receitas](/pt-BR/build/core-features/common/packaging/intelligentdelivery-features-recipes)
* [Intelligent Delivery: especificadores de idioma](/pt-BR/build/core-features/common/packaging/intelligentdelivery-language)
* [Intelligent Delivery: conteúdo OnDemand](/pt-BR/build/core-features/common/packaging/intelligentdelivery-ondemand)
* [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)


## Related topics

- [XPackageInstallChunks](/ja-jp/reference/system/xpackage/functions/xpackageinstallchunks.md)
- [XPackageInstallChunksAsync](/reference/system/xpackage/functions/xpackageinstallchunksasync.md)
- [XPackageInstallChunksResult](/reference/system/xpackage/functions/xpackageinstallchunksresult.md)
