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

# XPackageRegisterPackageInstalled

> XPackageRegisterPackageInstalled

# XPackageRegisterPackageInstalled

Registra um retorno de chamada a ser chamado quando uma instalação for concluída.

## Sintaxe

```cpp theme={null}
HRESULT XPackageRegisterPackageInstalled(  
         XTaskQueueHandle queue,  
         void* context,  
         XPackageInstalledCallback* callback,  
         XTaskQueueRegistrationToken* token  
)  
```

### Parâmetros

*queue*   \_In\_\
Tipo: XTaskQueueHandle

A fila assíncrona na qual o retorno de chamada deve ser executado.

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

Contexto a ser passado para o retorno de chamada.

*callback*   \_In\_\
Tipo: XPackageInstalledCallback\*

Retorno de chamada definido pelo usuário a ser chamado quando uma instalação for concluída.

*token*   \_Out\_\
Tipo: [XTaskQueueRegistrationToken\*](/pt-BR/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken)

No retorno, contém um token que identifica o retorno de chamada e que pode ser usado para cancelar o registro do retorno de chamada com [XPackageUnregisterPackageInstalled](/pt-BR/reference/system/xpackage/functions/xpackageunregisterpackageinstalled).

### Valor retornado

Tipo: HRESULT

Código de sucesso ou de erro HRESULT.

## Comentários

As notificações PackageInstalled podem ser usadas para determinar quando um novo pacote está totalmente instalado.

Tanto a API [XPackageEnumeratePackages](/pt-BR/reference/system/xpackage/functions/xpackageenumeratepackages) quanto a API [XPackageRegisterPackageInstalled](/pt-BR/reference/system/xpackage/functions/xpackageregisterpackageinstalled) fornecem detalhes sobre uma instalação por meio de uma estrutura **XPackageDetails**. Se o pacote estiver sendo instalado, a propriedade **installing** será definida como true e você poderá criar um monitor de instalação para que o identificador do pacote monitore o progresso da instalação.

Não há notificações genéricas de fila de instalação; a intenção é usar [XPackageEnumeratePackages](/pt-BR/reference/system/xpackage/functions/xpackageenumeratepackages) para mostrar e acompanhar itens em andamento e usar **PackageInstalled** para anunciar a presença de um novo DLC. Também não há uma API para parar, 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 ficam invisíveis para o jogo.

No exemplo a seguir, **XPackageRegisterPackageInstalled** é usado para imprimir uma mensagem quando um novo pacote de DLC é instalado:

```cpp theme={null}
void CALLBACK NewPackageAdded(void* /* context */, const XPackageDetails* details)
{
    if (details->kind == XPackageKind::Content)
    {
        printf("Package added: %s\n", details->displayName);
    }
}

HRESULT ListenForNewDlc(XTaskQueueHandle queue, XTaskQueueRegistrationToken* token)
{
    HRESULT hr = XPackageRegisterPackageInstalled(queue, nullptr, NewPackageAdded, token);
    return hr;
}

void StopListeningForDlc(XTaskQueueRegistrationToken token)
{
    XPackageUnregisterPackageInstalled(token, false);
}
```

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

* [Instalação por streaming: status](/pt-BR/build/core-features/common/packaging/packaging-installstatus)

## Confira também

[XPackage](/pt-BR/reference/system/xpackage/xpackage_members)


## Related topics

- [XPackageRegisterPackageInstalled](/reference/system/xpackage/functions/xpackageregisterpackageinstalled.md)
- [XPackageUnregisterPackageInstalled](/reference/system/xpackage/functions/xpackageunregisterpackageinstalled.md)
- [XPackageInstalledCallback](/reference/system/xpackage/functions/xpackageinstalledcallback.md)
- [XPackageEnumerationCallback](/reference/system/xpackage/functions/xpackageenumerationcallback.md)
- [XPackage](/reference/system/xpackage/xpackage_members.md)
