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

# CloseBundleX (família XBOX One)

> Fecha uma lista de comandos de pacote enquanto grava os comandos registrados na alocação especificada.

Fecha uma lista de comandos de pacote enquanto grava os comandos registrados na alocação especificada.

## Sintaxe

```cpp theme={null}
UINT CloseBundleX(  
         void** ppBundleBufferAddress,  
         UINT BundleBufferMaxSize  
)  
```

### Parâmetros

*ppBundleBufferAddress*   \_Inout\_\
Tipo: void\*\*

Ponteiro para o endereço de um alocador de comandos de pacote. Quando definido como um alocador de comandos de pacote existente, os comandos registrados na lista de comandos de pacote são copiados para o local de memória especificado. Quando definido como null, a memória necessária é alocada por meio do alocador de comandos e, no retorno, o endereço é definido como a base da alocação.

*BundleBufferMaxSize*   \
Tipo: UINT

Tamanho máximo da alocação fornecida. O tamanho do alocador de comandos de pacote deve ser menor ou igual a esse máximo e pode ser obtido por meio de [GetExecutionCommandSizeX](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_getexecutioncommandsizex). Se *ppBundleBufferAddress* for definido como null, defina o tamanho máximo especificado como zero.

### Valor retornado

Tipo: UINT

O método retorna o tamanho do conjunto de comandos de pacote produzido pelo fechamento.

## Comentários

A finalidade deste método é provisionar pacotes que possam ser persistidos e executados independentemente do objeto de lista de comandos usado em sua construção. Como os objetos de lista de comandos de pacote podem consumir uma grande quantidade de memória em relação aos conjuntos de comandos registrados por eles, é vantajoso manter apenas o próprio conjunto de comandos para cada pacote. Em seguida, em vez de ter que redefinir a lista de comandos, você pode redefini-la para registrar pacotes adicionais.

O uso típico desta API é o seguinte:

1. Obtenha o tamanho do pacote usando [GetExecutionCommandSizeX](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_getexecutioncommandsizex).
2. Aloque memória para o pacote: explícita ou indiretamente, por meio do alocador de comandos.
3. Feche a lista de comandos usando **CloseBundleX** para confirmar os comandos na alocação de pacote independente.
4. Redefina ou libere a lista de comandos.
5. Execute a alocação de pacote usando [ExecuteIndirectBundleX](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_executeindirectbundlex).

## Requisitos

**Cabeçalho:** d3d12\_x.h

**Biblioteca:** d3d12\_x.lib

**Plataformas com suporte:** família XBOX One

## Confira também

[ID3D12GraphicsCommandList](/pt-BR/reference/graphics/d3d12_x/interfaces/id3d12graphicscommandlist/id3d12graphicscommandlist)\
[CreateCommandAllocator](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12device-createcommandallocator)


## Related topics

- [ExecuteBundle](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_executebundle_public.md)
- [XGameStreamingGetTouchBundleVersion](/pt-BR/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversion.md)
- [XGameStreamingGetTouchBundleVersionNameSize](/pt-BR/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversionnamesize.md)
- [XUserCloseHandle](/pt-BR/reference/system/xuser/functions/xuserclosehandle.md)
- [XPackageCloseMountHandle](/pt-BR/reference/system/xpackage/functions/xpackageclosemounthandle.md)
