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

# XPackageEstimateDownloadSize

> XPackageEstimateDownloadSize

# XPackageEstimateDownloadSize

Calcula el tamaño de descarga de los fragmentos que coinciden con los selectores de instalación especificados.

## Sintaxis

```cpp theme={null}
HRESULT XPackageEstimateDownloadSize(  
         const char* packageIdentifier,  
         uint32_t selectorCount,  
         XPackageChunkSelector* selectors,  
         uint64_t* downloadSize,  
         bool* shouldPresentUserConfirmation  
)  
```

### Parámetros

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

Una cadena que identifica de forma única el paquete instalado en el disco. Para obtener más información sobre los identificadores de paquete, consulte [Administración y concesión de licencias de contenido descargable (DLC)](/publishing/xstore-commerce/xstore-dlc).

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

El número de selectores del parámetro *selectors*.

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

Una matriz de selectores que especifica los fragmentos sobre los que se va a operar.

*downloadSize*   \_Out\_\
Tipo: uint64\_t\*

Al devolverse, contiene el tamaño de descarga de los selectores de instalación especificados.

*shouldPresentUserConfirmation*   \_Out\_opt\_\
Tipo: bool\*

Si la descarga requiriera la confirmación del usuario, devuelve true; de lo contrario, devuelve false.

### 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).</Note>

Si se proporciona, el parámetro *shouldPresentUserConfirmation* se establecerá en true si el tamaño de descarga estimado es lo suficientemente grande como para pedir al usuario que acepte el tamaño de descarga.

El ejemplo siguiente acepta un nombre de pista de un juego de carreras y, si la pista no está instalada, imprime el tamaño de descarga de la pista:

```cpp theme={null}
HRESULT ListDownloadSize(char* trackName)
{
    XPackageChunkSelector selector;
    selector.type = XPackageChunkSelectorType::Tag;
    selector.tag = trackName;

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

    XPackageChunkAvailability availability;
    hr = XPackageFindChunkAvailability(id, 1, &selector, &availability);
    if (FAILED(hr)) return hr;

    if (availability == XPackageChunkAvailability::Installable)
    {
        uint64_t downloadSize;
        hr = XPackageEstimateDownloadSize(id, 1, &selector, &downloadSize, nullptr);
        if (FAILED(hr)) return hr;

        printf("Download Size for track %s: %I64u\n", trackName, downloadSize);
    }

    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

* [Subprocesos sensibles al tiempo](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## Consulte también

[XPackage](/reference/system/xpackage/xpackage_members)\
[Instalación de streaming y entrega inteligente](/build/core-features/common/packaging/overviews/streaming_install-intelligent_delivery)


## Related topics

- [XPackageInstallChunksAsync](/es/reference/system/xpackage/functions/xpackageinstallchunksasync.md)
- [XPackageInstallChunks](/es/reference/system/xpackage/functions/xpackageinstallchunks.md)
- [XPackage](/es/reference/system/xpackage/xpackage_members.md)
- [Contenedores de API de C# de Unity para el GDK](/es/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [XStoreDownloadPackageUpdatesAsync](/es/reference/system/xstore/functions/xstoredownloadpackageupdatesasync.md)
