> ## 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 (famille XBOX One)

> Ferme une liste de commandes de bundle tout en écrivant les commandes enregistrées dans l'allocation spécifiée.

Ferme une liste de commandes de bundle tout en écrivant les commandes enregistrées dans l'allocation spécifiée.

## Syntaxe

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

### Paramètres

*ppBundleBufferAddress*   \_Inout\_\
Type : void\*\*

Pointeur vers l'adresse d'un allocateur de commandes de bundle. Lorsqu'il est défini sur un allocateur de commandes de bundle existant, les commandes enregistrées dans la liste de commandes de bundle sont copiées à l'emplacement mémoire spécifié. Lorsqu'il est défini sur null, la mémoire requise est allouée par l'intermédiaire de l'allocateur de commandes et, au retour, l'adresse est définie sur la base de l'allocation.

*BundleBufferMaxSize*   \
Type : UINT

Taille maximale de l'allocation fournie. La taille de l'allocateur de commandes de bundle doit être inférieure ou égale à ce maximum ; elle peut être obtenue à l'aide de [GetExecutionCommandSizeX](/fr/reference/graphics/d3d12_x/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_getexecutioncommandsizex). Si *ppBundleBufferAddress* est défini sur null, définissez la taille maximale spécifiée sur zéro.

### Valeur de retour

Type : UINT

La méthode renvoie la taille de l'ensemble de commandes de bundle produit par la fermeture.

## Remarques

Cette méthode a pour objectif de fournir des bundles qui peuvent être conservés et exécutés indépendamment de l'objet liste de commandes utilisé pour les construire. Étant donné que les objets liste de commandes de bundle peuvent consommer une grande quantité de mémoire par rapport aux ensembles de commandes qu'ils enregistrent, il est avantageux de ne conserver que l'ensemble de commandes lui-même, pour chaque bundle. Par la suite, au lieu de devoir réinitialiser la liste de commandes, vous pouvez la réinitialiser pour enregistrer des bundles supplémentaires.

Voici une utilisation type de cette API :

1. Obtenez la taille du bundle à l'aide de [GetExecutionCommandSizeX](/fr/reference/graphics/d3d12_x/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_getexecutioncommandsizex).
2. Allouez de la mémoire pour le bundle : explicitement ou indirectement, par l'intermédiaire de l'allocateur de commandes.
3. Fermez la liste de commandes à l'aide de **CloseBundleX** pour valider les commandes dans l'allocation de bundle indépendante.
4. Réinitialisez ou libérez la liste de commandes.
5. Exécutez l'allocation de bundle à l'aide d'[ExecuteIndirectBundleX](/fr/reference/graphics/d3d12_x/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_executeindirectbundlex).

## Configuration requise

**En-tête :** d3d12\_x.h

**Bibliothèque :** d3d12\_x.lib

**Plateformes prises en charge :** famille XBOX One

## Voir aussi

[ID3D12GraphicsCommandList](/fr/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](/fr/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_executebundle_public.md)
- [XGameStreamingGetTouchBundleVersion](/fr/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversion.md)
- [XGameStreamingGetTouchBundleVersionNameSize](/fr/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversionnamesize.md)
- [XUserCloseHandle](/fr/reference/system/xuser/functions/xuserclosehandle.md)
- [XPackageCloseMountHandle](/fr/reference/system/xpackage/functions/xpackageclosemounthandle.md)
