> ## 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 una devolución de llamada a la que se llamará cuando se complete una instalación.

## Sintaxis

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

### Parámetros

*queue*   \_In\_\
Tipo: XTaskQueueHandle

La cola asincrónica en la que se ejecutará la devolución de llamada.

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

Contexto que se pasará a la devolución de llamada.

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

Devolución de llamada definida por el usuario a la que se llamará cuando se complete una instalación.

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

Al devolverse, contiene un token que identifica la devolución de llamada y que se puede usar para anular su registro con [XPackageUnregisterPackageInstalled](/reference/system/xpackage/functions/xpackageunregisterpackageinstalled).

### Valor devuelto

Tipo: HRESULT

HRESULT de éxito o código de error.

## Comentarios

Las notificaciones de PackageInstalled se pueden usar para determinar cuándo un paquete nuevo está completamente instalado.

Tanto la API [XPackageEnumeratePackages](/reference/system/xpackage/functions/xpackageenumeratepackages) como la API [XPackageRegisterPackageInstalled](/reference/system/xpackage/functions/xpackageregisterpackageinstalled) proporcionan detalles sobre una instalación, a través de una estructura **XPackageDetails**. Si el paquete se está instalando, la propiedad **installing** se establece en true y puede crear un monitor de instalación, para que el identificador del paquete supervise el progreso de la instalación.

No hay notificaciones genéricas de cola de instalación; la intención es usar [XPackageEnumeratePackages](/reference/system/xpackage/functions/xpackageenumeratepackages) para mostrar y hacer seguimiento de los elementos en curso, y usar **PackageInstalled** para anunciar la presencia de nuevo DLC. Tampoco hay una API para detener, iniciar o cancelar una instalación. Desde la perspectiva de un juego, la instalación debería gestionarse por sí sola. Los errores se reintentan automáticamente y son invisibles para el juego.

En el siguiente ejemplo, **XPackageRegisterPackageInstalled** se usa para imprimir un mensaje cuando se instala un nuevo paquete de DLC:

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

**Encabezado:** XPackage.h

**Biblioteca:** xgameruntime.lib

**Plataformas compatibles:** Windows, consolas de la familia XBOX One y consolas XBOX Series

## Documentación conceptual

* [Instalación por streaming: estado](/build/core-features/common/packaging/packaging-installstatus)

## Consulte también

[XPackage](/reference/system/xpackage/xpackage_members)


## Related topics

- [XPackageUnregisterPackageInstalled](/es/reference/system/xpackage/functions/xpackageunregisterpackageinstalled.md)
- [XPackageInstalledCallback](/es/reference/system/xpackage/functions/xpackageinstalledcallback.md)
- [XPackageEnumerationCallback](/es/reference/system/xpackage/functions/xpackageenumerationcallback.md)
- [Instalación por streaming: estado](/es/build/core-features/common/packaging/packaging-installstatus.md)
- [XPackage](/es/reference/system/xpackage/xpackage_members.md)
