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

# ACP_COMMAND_UPDATE_ALL_CONTEXTS

> ACP_COMMAND_UPDATE_ALL_CONTEXTS

# ACP\_COMMAND\_UPDATE\_ALL\_CONTEXTS

Commande de mise à jour de tableaux de tous les types de contextes SHAPE (Scalable Hardware Audio Processing Engine).

## Syntaxe

```cpp theme={null}
typedef struct ACP_COMMAND_UPDATE_ALL_CONTEXTS {  
    UINT32 srcEntryCount;  
    UINT32 eqCompEntryCount;  
    UINT32 filtVolEntryCount;  
    UINT32 dmaReadEntryCount;  
    UINT32 dmaWriteEntryCount;  
    UINT32 pcmEntryCount;  
    UINT32 xmaEntryCount;  
    APU_ADDRESS srcEntries;  
    APU_ADDRESS eqCompEntries;  
    APU_ADDRESS filtVolEntries;  
    APU_ADDRESS dmaReadEntries;  
    APU_ADDRESS dmaWriteEntries;  
    APU_ADDRESS pcmEntries;  
    APU_ADDRESS xmaEntries;  
    UINT32 srcIndexCount;  
    UINT32 eqCompIndexCount;  
    UINT32 filtVolIndexCount;  
    UINT32 dmaReadIndexCount;  
    UINT32 dmaWriteIndexCount;  
    UINT32 pcmIndexCount;  
    UINT32 xmaIndexCount;  
    APU_ADDRESS srcIndices;  
    APU_ADDRESS eqCompIndices;  
    APU_ADDRESS filtVolIndices;  
    APU_ADDRESS dmaReadIndices;  
    APU_ADDRESS dmaWriteIndices;  
    APU_ADDRESS pcmIndices;  
    APU_ADDRESS xmaIndices;  
} ACP_COMMAND_UPDATE_ALL_CONTEXTS  
```

### Membres

*srcEntryCount*\
Type : UINT32

Nombre d'entrées SRC (Sample Rate Convertor).

*eqCompEntryCount*\
Type : UINT32

Nombre d'entrées EQ/Comp.

*filtVolEntryCount*\
Type : UINT32

Nombre d'entrées Filter/Volume.

*dmaReadEntryCount*\
Type : UINT32

Nombre d'entrées DMA (Direct Memory Access) qui lisent à partir d'une mémoire tampon de mixage.

*dmaWriteEntryCount*\
Type : UINT32

Nombre d'entrées DMA qui écrivent dans une mémoire tampon de mixage.

*pcmEntryCount*\
Type : UINT32

Nombre d'entrées PCM (modulation par impulsions et codage).

*xmaEntryCount*\
Type : UINT32

Nombre d'entrées XMA (XBOX Media Audio).

*srcEntries*\
Type : APU\_ADDRESS

Pointeur vers un tableau d'entrées SRC.

*eqCompEntries*\
Type : APU\_ADDRESS

Pointeur vers un tableau d'entrées EQ/Comp.

*filtVolEntries*\
Type : APU\_ADDRESS

Pointeur vers un tableau d'entrées Filter/Volume.

*dmaReadEntries*\
Type : APU\_ADDRESS

Pointeur vers un tableau d'entrées DMA qui lisent à partir d'une mémoire tampon de mixage.

*dmaWriteEntries*\
Type : APU\_ADDRESS

Pointeur vers un tableau d'entrées DMA qui écrivent dans une mémoire tampon de mixage.

*pcmEntries*\
Type : APU\_ADDRESS

Pointeur vers un tableau d'entrées PCM.

*xmaEntries*\
Type : APU\_ADDRESS

Pointeur vers un tableau d'entrées XMA.

*srcIndexCount*\
Type : UINT32

Nombre d'index SRC.

*eqCompIndexCount*\
Type : UINT32

Nombre d'index EQ/Comp.

*filtVolIndexCount*\
Type : UINT32

Nombre d'index Filter/Volume.

*dmaReadIndexCount*\
Type : UINT32

Nombre d'index DMA qui lisent à partir d'une mémoire tampon de mixage.

*dmaWriteIndexCount*\
Type : UINT32

Nombre d'index DMA qui écrivent dans une mémoire tampon de mixage.

*pcmIndexCount*\
Type : UINT32

Nombre d'index PCM.

*xmaIndexCount*\
Type : UINT32

Nombre d'index XMA.

*srcIndices*\
Type : APU\_ADDRESS

Tableau d'index 16 bits non signés dans les entrées SRC.

*eqCompIndices*\
Type : APU\_ADDRESS

Tableau d'index 16 bits non signés dans les entrées EQ/Comp.

*filtVolIndices*\
Type : APU\_ADDRESS

Tableau d'index 16 bits non signés dans les entrées Filter/Volume.

*dmaReadIndices*\
Type : APU\_ADDRESS

Tableau d'index 16 bits non signés dans les entrées de lecture DMA.

*dmaWriteIndices*\
Type : APU\_ADDRESS

Tableau d'index 16 bits non signés dans les entrées d'écriture DMA.

*pcmIndices*\
Type : APU\_ADDRESS

Tableau d'index 16 bits non signés dans les entrées PCM.

*xmaIndices*\
Type : APU\_ADDRESS

Tableau d'index 16 bits non signés dans les entrées XMA.

## Remarques

Il existe deux méthodes pour effectuer des mises à jour par bloc.

Dans la méthode directe, les membres *\*EntryCount* et *\*Entries* sont utilisés et les membres d'index sont ignorés. La mise à jour par bloc se comporte comme suit.

```cpp theme={null}
    for(i = 0; i < entryCount; ++i)
    {
        UpdateContext(entries[i]);
    } 
```

Dans la méthode indirecte, les membres *\*IndexCount* et *\*Indices* sont utilisés et les membres d'entrée sont ignorés. La mise à jour par bloc se comporte comme suit.

```cpp theme={null}
    for(int i = 0; i < indexCount; ++i)
    {
        UpdateContext(entries[indices[i] ]);
    }  
```

Pour mettre à jour un seul contexte, utilisez la structure [ACP\_COMMAND\_UPDATE\_CONTEXTS](/fr-CA/reference/audio/acphal/structs/acp_command_update_contexts).

## Configuration requise

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

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

## Voir aussi

[SubmitCommand](/fr-CA/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_submitcommand)\
[AcpHal](/fr-CA/reference/audio/acphal/acphal_members)


## Related topics

- [ACP_COMMAND_UPDATE_ALL_CONTEXTS](/reference/audio/acphal/structs/acp_command_update_all_contexts.md)
- [ACP_COMMAND_UPDATE_CONTEXTS](/reference/audio/acphal/structs/acp_command_update_contexts.md)
