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

# ApuAlloc

> ApuAlloc

# ApuAlloc

Asigna memoria física de la APU.

## Sintaxis

```cpp theme={null}
HRESULT ApuAlloc(  
         void** virtualAddress,  
         APU_ADDRESS* physicalAddress,  
         UINT32 sizeInBytes,  
         UINT32 alignmentInBytes = 4,  
         UINT32 flags = APU_ALLOC_CACHED  
)  
```

### Parámetros

*virtualAddress*   \_Result\_nullonfailure\_ \_Outptr\_result\_bytebuffer\_(sizeInBytes)\
Tipo: void\*\*

Dirección virtual devuelta.

*physicalAddress*   \_Result\_zeroonfailure\_ \_Out\_opt\_\
Tipo: APU\_ADDRESS\*

`APU_ADDRESS` devuelta; para usarla con la APU.

*sizeInBytes*   \_In\_\
Tipo: UINT32

Tamaño de la asignación, en bytes.

*alignmentInBytes*   \_In\_\
Tipo: UINT32

Alineación, en bytes. Debe ser una potencia de 2 y mayor o igual que 4.

*flags*\
Tipo: UINT32

Marca de asignación: `APU_ALLOC_CACHED` o `APU_ALLOC_NONCACHED`.

### Valor devuelto

Tipo: HRESULT

Este método puede devolver los valores siguientes:

| Código devuelto | Descripción                                                                                                                                                                    |
| :-------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| S\_OK           | Correcto                                                                                                                                                                       |
| E\_INVALIDARG   | Argumento no válido, como dirección virtual == nullptr, tamaño == 0, alineación == 0, (alignment & 0x3) != 0, (alignment & (alignment - 1)) != 0 o un valor de flags no válido |
| E\_OUTOFMEMORY  | Error de asignación de memoria                                                                                                                                                 |

## Comentarios

Las direcciones virtual y física que se devuelven representan vistas diferentes del mismo espacio de direcciones. Liberar una invalida la otra. Para liberar una asignación, use [ApuFree](/reference/audio/apu/functions/apufree).

## Requisitos

**Encabezado:** apu.h

**Biblioteca:** acphal.lib

**Plataformas compatibles:** consolas de la familia XBOX One y consolas XBOX Series

## Documentación conceptual

* [Información general sobre XMA2](/build/console-features/audio/overviews/xma2-overview)

## Consulte también

[ApuFree](/reference/audio/apu/functions/apufree)\
[APU](/reference/audio/apu/apu_members)


## Related topics

- [ApuFree](/es/reference/audio/apu/functions/apufree.md)
- [ApuMapApuAddress](/es/reference/audio/apu/functions/apumapapuaddress.md)
- [ApuIsVirtualAddressValid](/es/reference/audio/apu/functions/apuisvirtualaddressvalid.md)
- [ApuMapVirtualAddress](/es/reference/audio/apu/functions/apumapvirtualaddress.md)
- [APU (Audio Processing Unit)](/es/reference/audio/apu/apu_members.md)
