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

# Obtención de los metadatos de un blob del almacenamiento de títulos

> Ejemplo de código C plano para recuperar los metadatos de blobs del almacenamiento de títulos de XBOX con XblTitleStorageGetBlobMetadataAsync, incluida la paginación mediante identificadores de resultados.

En este tema se muestra cómo recuperar los metadatos de blobs del almacenamiento de títulos de XBOX mediante los siguientes ejemplos de código C plano.

#### C plano

```cpp theme={null}
auto asyncBlock = std::make_unique<XAsyncBlock>();
asyncBlock->queue = queue;
asyncBlock->context = nullptr;
asyncBlock->callback = [](XAsyncBlock* asyncBlock)
{
    std::unique_ptr<XAsyncBlock> asyncBlockPtr{ asyncBlock };
    XblTitleStorageBlobMetadataResultHandle handle;
    HRESULT hr = XblTitleStorageGetBlobMetadataResult(asyncBlock, &handle);

    if (SUCCEEDED(hr))
    {
        if (blobMetadataResultHandle != nullptr)
        {
            XblTitleStorageBlobMetadataResultCloseHandle(blobMetadataResultHandle);
        }

        blobMetadataResultHandle = handle;
    }

};

HRESULT hr = XblTitleStorageGetBlobMetadataAsync(
    xboxLiveContext,
    scid,
    storageType,
    blobPath.c_str(),
    xboxUserId,
    skipItems,
    maxItems,
    asyncBlock.get()
);

if (SUCCEEDED(hr))
{
    asyncBlock.release();
}
```

## Solo existe una página de objetos XblTitleStorageBlobMetadata

En el ejemplo de código siguiente se muestra cómo usar `XblTitleStorageBlobMetadataResultHandle` para recuperar la primera página de la lista de objetos [XblTitleStorageBlobMetadata](/reference/live/xsapi-c/title_storage_c/structs/xbltitlestorageblobmetadata).
<Note>En función del número de blobs que el título tenga en el almacenamiento de títulos, es posible que haya varias páginas de `XblTitleStorageBlobMetadata`.</Note>

#### C plano

```cpp theme={null}
XblTitleStorageBlobMetadataResultHandle handle = blobMetadataResultHandle;

const XblTitleStorageBlobMetadata* items;
size_t itemsSize;

HRESULT hr = XblTitleStorageBlobMetadataResultGetItems(handle, &items, &itemsSize);
```

## Determinación de si existen más páginas de objetos XblTitleStorageBlobMetadata

En el ejemplo de código siguiente se muestra cómo comprobar si hay más páginas de `XblTitleStorageBlobMetadata` que recuperar del almacenamiento de títulos.

#### C plano

```cpp theme={null}
XblTitleStorageBlobMetadataResultHandle handle = blobMetadataResultHandle;

bool hasNext;

HRESULT hr = XblTitleStorageBlobMetadataResultHasNext(handle, &hasNext);
```

## Recuperación de más páginas de objetos XblTitleStorageBlobMetadata

En el ejemplo de código siguiente se muestra cómo recuperar la página siguiente de objetos `XblTitleStorageBlobMetadata`.

#### C plano

```cpp theme={null}
XblTitleStorageBlobMetadataResultHandle handle = blobMetadataResultHandle;

auto asyncBlock = std::make_unique<XAsyncBlock>();
asyncBlock->queue = queue;
asyncBlock->context = nullptr;
asyncBlock->callback = [](XAsyncBlock* asyncBlock)
{
    std::unique_ptr<XAsyncBlock> asyncBlockPtr{ asyncBlock };
    XblTitleStorageBlobMetadataResultHandle handle{ nullptr };
    
    HRESULT hr = XblTitleStorageBlobMetadataResultGetNextResult(asyncBlock, &handle);
};

HRESULT hr = XblTitleStorageBlobMetadataResultGetNextAsync(handle, maxItems, asyncBlock.get());

if (SUCCEEDED(hr))
{
    asyncBlock.release();
}
```

## Duplicación de XblTitleStorageBlobMetadataResultHandle

En el ejemplo de código siguiente se muestra cómo crear un duplicado de `XblTitleStorageBlobMetadataResultHandle`.

#### C plano

```cpp theme={null}
XblTitleStorageBlobMetadataResultHandle handle = blobMetadataResultHandle;
XblTitleStorageBlobMetadataResultHandle duplicatedHandle;

HRESULT hr = XblTitleStorageBlobMetadataResultDuplicateHandle(handle, &duplicatedHandle);
```

## Cierre de XblTitleStorageBlobMetadataResultHandle

En el ejemplo de código siguiente se muestra cómo cerrar `XblTitleStorageBlobMetadataResultHandle`.

<Note>Debe cerrar este identificador cuando termine de usarlo.</Note>

#### C plano

```cpp theme={null}
XblTitleStorageBlobMetadataResultHandle handle = blobMetadataResultHandle;
XblTitleStorageBlobMetadataResultCloseHandle(handle);
blobMetadataResultHandle = nullptr;
```

## Consulte también

[XAsyncBlock](/reference/system/xasync/structs/xasyncblock)

[XblTitleStorageBlobMetadataResultCloseHandle](/reference/live/xsapi-c/title_storage_c/functions/xbltitlestorageblobmetadataresultclosehandle)

[XblTitleStorageGetBlobMetadataAsync](/reference/live/xsapi-c/title_storage_c/functions/xbltitlestoragegetblobmetadataasync)

[XblTitleStorageGetBlobMetadataResult](/reference/live/xsapi-c/title_storage_c/functions/xbltitlestoragegetblobmetadataresult)

[XblTitleStorageBlobMetadata](/reference/live/xsapi-c/title_storage_c/structs/xbltitlestorageblobmetadata)

[XblTitleStorageBlobMetadataResultGetItems](/reference/live/xsapi-c/title_storage_c/functions/xbltitlestorageblobmetadataresultgetitems)

[XblTitleStorageBlobMetadataResultHasNext](/reference/live/xsapi-c/title_storage_c/functions/xbltitlestorageblobmetadataresulthasnext)

[XblTitleStorageBlobMetadataResultGetNextAsync](/reference/live/xsapi-c/title_storage_c/functions/xbltitlestorageblobmetadataresultgetnextasync)

[XblTitleStorageBlobMetadataResultGetNextResult](/reference/live/xsapi-c/title_storage_c/functions/xbltitlestorageblobmetadataresultgetnextresult)

[XblTitleStorageBlobMetadataResultDuplicateHandle](/reference/live/xsapi-c/title_storage_c/functions/xbltitlestorageblobmetadataresultduplicatehandle)


## Related topics

- [Código de ejemplo del almacenamiento de títulos](/es/services/xbox-services/storage/title-storage/how-to/live-title-storage-howto-nav.md)
- [Procedimientos](/es/services/xbox-services/storage/title-storage/how-to/index.md)
- [Descarga de un blob del almacenamiento de títulos](/es/services/xbox-services/storage/title-storage/how-to/live-downloading-title-storage-blob.md)
- [Eliminación de un blob del almacenamiento de títulos](/es/services/xbox-services/storage/title-storage/how-to/live-deleting-title-storage-blob.md)
- [Obtención de información de cuota para una configuración de servicio de almacenamiento de títulos](/es/services/xbox-services/storage/title-storage/how-to/live-getting-title-storage-quota-info.md)
