> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XPackageEnumeratePackages

> XPackageEnumeratePackages

# XPackageEnumeratePackages

Busca paquetes que ya están instalados, o que se están instalando, y que están relacionados con el proceso que realiza la llamada.

## Sintaxis

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

### Parámetros

*kind*   \_In\_\
Tipo: [XPackageKind](https://docs.xbox.com/es/reference/system/xpackage/enums/xpackagekind.md)

El tipo de paquetes de instalación que se van a enumerar.

*scope*   \_In\_\
Tipo: [XPackageEnumerationScope](https://docs.xbox.com/es/reference/system/xpackage/enums/xpackageenumerationscope.md)

El ámbito de los paquetes de instalación.

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

Contexto que se pasará a la devolución de llamada especificada en el parámetro *callback*.

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

Una devolución de llamada a la que se llamará al finalizar.

### Valor devuelto

Tipo: HRESULT

HRESULT de éxito o código de error.

## Comentarios

> [!NOTE]
>
> No es seguro llamar a esta función en un subproceso sensible al tiempo. Para obtener más información, consulte [Subprocesos sensibles al tiempo](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).

Use **XPackageEnumeratePackages** para buscar paquetes que ya están instalados, o que se están instalando, y que están relacionados con el proceso que realiza la llamada. Esta función puede encontrar tanto paquetes de contenido como paquetes de aplicación. Proporciona detalles sobre una instalación a través de una estructura XPackageDetails.

Si el paquete todavía 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 la cola de instalación; la intención es usar [XPackageEnumeratePackages](https://docs.xbox.com/es/reference/system/xpackage/functions/xpackageenumeratepackages.md) para mostrar y hacer un seguimiento de los elementos en curso. 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.

La salida de la API, cuando se llama con el valor [XPackageKind::Game](https://docs.xbox.com/es/reference/system/xpackage/enums/xpackagekind.md), en función del valor de [XPackageEnumerationScope](https://docs.xbox.com/es/reference/system/xpackage/enums/xpackageenumerationscope.md) será:

| Ámbito | Franchise game hub | Juego compatible con hub | Juego no compatible con hub |
| - | - | - | - |
| ThisOnly | Solo el franchise game hub | Solo el juego compatible con hub | Solo el juego no compatible con hub |
| ThisAndRelated | El franchise game hub, todos los juegos compatibles con hub asociados a él y todos los RelatedProducts | El juego compatible con hub y todos los RelatedProducts | El juego no compatible con hub y todos los RelatedProducts |
| ThisPublisher | Todos los productos de juego que pertenecen al mismo publicador que el proceso actual | Todos los productos de juego que pertenecen al mismo publicador que el proceso actual | Todos los productos de juego que pertenecen al mismo publicador que el proceso actual |

La salida de la API, cuando se llama con el valor [XPackageKind::Content](https://docs.xbox.com/es/reference/system/xpackage/enums/xpackagekind.md), en función del valor de [XPackageEnumerationScope](https://docs.xbox.com/es/reference/system/xpackage/enums/xpackageenumerationscope.md) será:

| Ámbito | Franchise game hub | Juego compatible con hub | Juego no compatible con hub |
| - | - | - | - |
| ThisOnly | Los DLC relacionados con este franchise game hub | Los DLC relacionados con este juego compatible con hub | Los DLC relacionados con este juego no compatible con hub |
| ThisAndRelated | Los DLC relacionados con este franchise game hub, con sus títulos compatibles con hub y con todos sus RelatedProducts | Los DLC relacionados con este juego compatible con hub y con todos sus RelatedProducts | Los DLC relacionados con este juego no compatible con hub y con todos sus RelatedProducts |
| ThisPublisher | Todos los DLC (del mismo publicador o de otros publicadores) relacionados con un juego base del mismo publicador que el proceso actual | Todos los DLC (del mismo publicador o de otros publicadores) relacionados con un juego base del mismo publicador que el proceso actual | Todos los DLC (del mismo publicador o de otros publicadores) relacionados con un juego base del mismo publicador que el proceso actual |

Ejemplo:

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

**Encabezado:** XPackage.h

**Biblioteca:** xgameruntime.lib

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

## Documentación conceptual

* [Entrega inteligente: especificadores de idioma](https://docs.xbox.com/es/build/core-features/common/packaging/intelligentdelivery-language.md)
* [Paquetes de contenido descargable (DLC) del GDK](https://docs.xbox.com/es/build/core-features/common/packaging/packaging-downloadable-content-dlc.md)
* [Subprocesos sensibles al tiempo](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)
* [Comprobación de actualizaciones](https://docs.xbox.com/es/publishing/xstore-commerce/xstore-checking-updates.md)
* [Administración y concesión de licencias de contenido descargable (DLC)](https://docs.xbox.com/es/publishing/xstore-commerce/xstore-dlc.md)

## Consulte también

[XPackage](https://docs.xbox.com/es/reference/system/xpackage/xpackage_members.md)\
[Franchise Game Hubs](https://learn.microsoft.com/gaming/gdk/docs/store/franchise-game-hubs)\
[Cómo crear y usar paquetes de contenido descargable (DLC) para PC y XBOX One](https://docs.xbox.com/es/build/core-features/common/packaging/packaging-downloadable-content-dlc.md)


## Related topics

- [XPackageGetPackageKind](https://docs.xbox.com/es/reference/system/xpackage/functions/xpackagegetpackagekind.md)
- [XPackageDetails](https://docs.xbox.com/es/reference/system/xpackage/structs/xpackagedetails.md)
- [XPackageEnumerationCallback](https://docs.xbox.com/es/reference/system/xpackage/functions/xpackageenumerationcallback.md)
- [XPackageRegisterPackageInstalled](https://docs.xbox.com/es/reference/system/xpackage/functions/xpackageregisterpackageinstalled.md)
- [XPackageChunkAvailabilityCallback](https://docs.xbox.com/es/reference/system/xpackage/functions/xpackagechunkavailabilitycallback.md)
