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

# SHAPE_DMA_CONTEXT

> SHAPE_DMA_CONTEXT

# SHAPE\_DMA\_CONTEXT

A estrutura de contexto de Direct Memory Access (DMA).

## Sintaxe

```cpp theme={null}
typedef struct SHAPE_DMA_CONTEXT {  
    UINT32 timestamp : 21;
    UINT32 reserved0 : 3;
    UINT32 mixBufPeakMag : 4;
    UINT32 peakMag : 4;
    UINT32 readPointer : 5;
    UINT32 reserved1 : 3;
    UINT32 writePointer : 5;
    UINT32 reserved2 : 3;
    UINT32 full : 1;
    UINT32 reserved3 : 15;
    UINT32 reserved4 : 9;
    UINT32 address : 23;
    UINT32 numFrames : 5;
    UINT32 reserved5 : 3;
    UINT32 floatConvert : 1;
    UINT32 reserved6 : 7;
    UINT32 numChannels : 3;
    UINT32 reserved7 : 5;
    UINT32 channel : 3;
    UINT32 reserved8 : 5;
} SHAPE_DMA_CONTEXT  
```

### Membros

*timestamp*\
Tipo: UINT32

Leitura: carimbo de data/hora da conclusão do processamento do contexto.

*reserved0*\
Tipo: UINT32

Reservado.

*mixBufPeakMag*\
Tipo: UINT32

Leitura: magnitude de pico do buffer de mixagem de saída.

*peakMag*\
Tipo: UINT32

Leitura: magnitude de pico da saída.

*readPointer*\
Tipo: UINT32

Leitura/Gravação: ponteiro de leitura a partir do início do buffer, em unidades de quadros por canal ou grupos de intercalação de quadros.

*reserved1*\
Tipo: UINT32

Reservado.

*writePointer*\
Tipo: UINT32

Leitura/Gravação: ponteiro de gravação a partir do início do buffer, em unidades de quadros por canal ou grupos de intercalação de quadros.

*reserved2*\
Tipo: UINT32

Reservado.

*full*\
Tipo: UINT32

Leitura/Gravação: quando o ponteiro de leitura e o ponteiro de gravação são iguais, *full* indica se o buffer está vazio ou cheio (0 == vazio, 1 == cheio).

*reserved3*\
Tipo: UINT32

Reservado.

*reserved4*\
Tipo: UINT32

Reservado.

*address*\
Tipo: UINT32

Gravação: endereço do buffer, alinhado a 128 amostras.

*numFrames*\
Tipo: UINT32

Gravação: *numFrames* + 1 é igual ao número de quadros por canal ou ao número de grupos de intercalação de quadros no buffer de DMA da memória do sistema. Um valor zero indica um quadro. A partir dessas informações, o bloco de DMA pode derivar o tamanho do buffer circular de DMA. Esse campo é definido quando o contexto e o buffer são definidos.

*reserved5*\
Tipo: UINT32

Reservado.

*floatConvert*\
Tipo: UINT32

Gravação: 1 se os dados devem ser convertidos em float ou a partir de float. 0 se os dados forem um inteiro de 32 bits.

*reserved6*\
Tipo: UINT32

Reservado.

*numChannels*\
Tipo: UINT32

Gravação: *numChannels* + 1 é o número de canais de áudio no buffer. Um valor zero indica um canal.

*reserved7*\
Tipo: UINT32

Reservado.

*channel*\
Tipo: UINT32

Gravação: o canal a ser lido/gravado.

*reserved8*\
Tipo: UINT32

Reservado.

## Comentários

Os membros marcados como **Read** são gravados pela biblioteca ACP e devem ser apenas lidos pelo seu aplicativo. Os membros marcados como **Write** são definidos pelo seu aplicativo e não são alterados pela biblioteca ACP. Os membros marcados como **Read/Write** são definidos pelo seu aplicativo, mas podem ser alterados pela biblioteca ACP.

Para obter informações sobre grafos de fluxo, consulte [Análise de grafos de fluxo em Visão geral do ACP](/pt-BR/build/console-features/audio/overviews/acp-overview#ID4EHF).

## Requisitos

**Cabeçalho:** shapedmacontext.h

**Plataformas compatíveis:** consoles da família XBOX One e consoles XBOX Series

## Documentação conceitual

* [Visão geral do ACP](/pt-BR/build/console-features/audio/overviews/acp-overview)

## Confira também

[ShapeDmaContext](/pt-BR/reference/audio/shapedmacontext/shapedmacontext_members)


## Related topics

- [ShapeDmaContext](/pt-BR/reference/audio/shapedmacontext/shapedmacontext_members.md)
- [GetShapeDmaChannel](/pt-BR/reference/audio/shapedmacontext/functions/getshapedmachannel.md)
- [GetShapeDmaTimestamp](/pt-BR/reference/audio/shapedmacontext/functions/getshapedmatimestamp.md)
- [SetShapeDmaChannel](/pt-BR/reference/audio/shapedmacontext/functions/setshapedmachannel.md)
- [GetShapeDmaAudioBuffer](/pt-BR/reference/audio/shapedmacontext/functions/getshapedmaaudiobuffer.md)
