> ## 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-CA/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

Le tampon de mixage à lire ou dans lequel écrire, selon la valeur de l'indicateur *writeToMemory*.

*writeToMixBuffer*   \
Type : bool

True si la commande DMA doit écrire dans le tampon de mixage spécifié et lire à partir de la mémoire principale. False si la commande DMA doit lire à partir du tampon de mixage spécifié 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 des 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 tampons circulaires contenant des échantillons désentrelacés en blocs de 128 échantillons.

Le processeur DMA permet au moteur de traitement audio matériel évolutif (SHAPE) d'envoyer des données des tampons de mixage vers la mémoire système principale et de récupérer des données du système principal dans les tampons de mixage pour un traitement ultérieur. Le DMA s'effectue par bloc, en transférant une trame audio de données à la fois. Pour permettre les données entrelacées par bloc, une valeur de saut spécifie le nombre de blocs de trames audio en mémoire système à sauter à 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 spécifié dans 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 de 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 en 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-CA/build/console-features/audio/overviews/acp-overview)

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

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


## Related topics

- [SetShapeDmaCommand](/es/reference/audio/shapeflowgraph/functions/setshapedmacommand.md)
- [ShapeFlowGraph](/reference/audio/shapeflowgraph/shapeflowgraph_members.md)
