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

# SetShapeDmaCommand

> SetShapeDmaCommand

# SetShapeDmaCommand

Initialise une commande DMA SHAPE.

## Syntaxe

```cpp theme={null}
HRESULT SetShapeDmaCommand(  
         SHAPE_FLOWGRAPH_COMMAND* command,  
         UINT32 contextId,  
         UINT32 mixBuffer,  
         bool writeToMixBuffer  
)  
```

### Paramètres

*command*   \_Inout\_\
Type : SHAPE\_FLOWGRAPH\_COMMAND\*

La commande [SHAPE\_FLOWGRAPH\_COMMAND](/fr/reference/audio/shapeflowgraph/structs/shape_flowgraph_command) à initialiser.

*contextId*   \
Type : UINT32

ID du contexte DMA (c'est-à-dire l'index) auquel cette commande fera référence.

*mixBuffer*   \
Type : UINT32

La mémoire tampon de mixage dans laquelle lire ou écrire, selon la valeur de l'indicateur *writeToMemory*.

*writeToMixBuffer*   \
Type : bool

True si la commande DMA doit écrire dans la mémoire tampon de mixage spécifiée et lire depuis la mémoire principale. False si la commande DMA doit lire depuis la mémoire tampon de mixage spécifiée et écrire dans la mémoire principale.

### Valeur de retour

Type : HRESULT

Si la fonction réussit, elle retourne `S_OK`. Si un ou plusieurs arguments ne sont pas valides, la fonction retourne `E_INVALIDARG`.

## Remarques

Le système d'accès direct à la mémoire (DMA) prend en charge les fonctionnalités de lecture et d'écriture avec conversion automatique de flottant en entier et d'entier en flottant. Le système DMA utilise des mémoires tampons circulaires contenant des échantillons désentrelacés par blocs de 128 échantillons.

Le processeur DMA permet au moteur SHAPE (Scalable Hardware Audio Processing Engine) d'envoyer des données des mémoires tampons de mixage vers la mémoire système principale et de récupérer des données de la mémoire système principale dans les mémoires tampons de mixage pour un traitement ultérieur. Le DMA s'effectue par blocs, en transférant une trame audio de données à la fois. Pour permettre les données entrelacées par blocs, une valeur de saut indique le nombre de blocs de trames audio à ignorer dans la mémoire système à partir de l'adresse de base lors de la lecture ou de l'écriture d'échantillons. Les flux multicanaux nécessitent un contexte DMA par canal. Les échantillons de données audio sont toujours lus et écrits sous forme de valeurs 32 bits, entières ou flottantes, comme indiqué par l'indicateur `floatConvert` du contexte DMA.

<Note>la direction du DMA (lecture ou écriture) est spécifiée dans la commande DMA, et non dans le contexte DMA. Cela permet de réduire la quantité de bande passante de données. Le moteur DMA n'effectue aucun traitement du signal, mais il peut effectuer une conversion de flottant en entier ou d'entier en flottant. Cela permet au processeur de l'application de traiter les échantillons de données au format à virgule flottante.</Note>

## Configuration requise

**En-tête :** shapeflowgraph.h

**Plateformes prises en charge :** consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

[Vue d'ensemble de l'ACP](/fr/build/console-features/audio/overviews/acp-overview)

[Vue d'ensemble de SHAPE](/fr/build/console-features/audio/overviews/shape-overview)

[shapeflowgraph](/fr/reference/audio/shapeflowgraph/shapeflowgraph_members)


## Related topics

- [ShapeFlowGraph](/fr/reference/audio/shapeflowgraph/shapeflowgraph_members.md)
- [SHAPE_FLOWGRAPH_DMA_COMMAND](/fr/reference/audio/shapeflowgraph/structs/shape_flowgraph_dma_command.md)
- [SetShapeDmaChannel](/fr/reference/audio/shapedmacontext/functions/setshapedmachannel.md)
- [SetShapeDmaAudioBuffer](/fr/reference/audio/shapedmacontext/functions/setshapedmaaudiobuffer_2.md)
- [SetShapeDmaBufferFull](/fr/reference/audio/shapedmacontext/functions/setshapedmabufferfull.md)
