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

# ApuCreateHeap

> ApuCreateHeap

# ApuCreateHeap

建立 APU 堆積。

## 語法

```cpp theme={null}
HRESULT ApuCreateHeap(  
         UINT32 cachedSizeInBytes,  
         UINT32 nonCachedSizeInBytes = 0  
)  
```

### 參數

*cachedSizeInBytes*   \_In\_\
類型：UINT32

快取記憶體配置的大小 (以位元組為單位)。

*nonCachedSizeInBytes*   \_In\_opt\_\
類型：UINT32

非快取配置的大小 (以位元組為單位)。如果為 0，則使用約 1 MB 的預設配置。

### 傳回值

類型：HRESULT

除了其他錯誤碼之外，此方法還可能會傳回下列值：

| 傳回碼 | 描述 |
| :- | :- |
| S\_OK | 成功 |
| E\_INVALIDARG | 無效的引數 (size == 0) |
| E\_OUTOFMEMORY | 記憶體配置失敗 |
| APU\_E\_HEAP\_ALREADY\_ALLOCATED | 堆積已配置 |

## 備註

只能建立單一 APU 堆積；它會在處理序的整個存留期間持續存在。只有在處理序終止時才會釋放堆積。

為了確保依照您的特定需求配置堆積，請在任何其他 ACP HAL 和 APU 方法之前呼叫此方法。

如果在此方法之前呼叫了任何 [ACP HAL](/zh-TW/reference/audio/acphal/acphal_members) (AcpHal.h) 或 [APU](/zh-TW/reference/audio/apu/apu_members) 方法，系統會配置 64 MB 的快取堆積和約 1 MB 的非快取堆積；之後對此方法的呼叫會失敗並傳回 `APU_E_HEAP_ALREADY_ALLOCATED`。

快取記憶體用於所有 Waves 資產以及命令和訊息佇列。非快取記憶體用於 SHAPE 內容和通知。

## 需求

**標頭：** apu.h

**程式庫：** acphal.lib

**支援的平台：** XBOX One 系列主機和 XBOX Series 主機

## 概念文件

* [ACP 概觀](/zh-TW/build/console-features/audio/overviews/acp-overview)

## 另請參閱

[APU](/zh-TW/reference/audio/apu/apu_members)


## Related topics

- [ApuCreateHeap](/reference/audio/apu/functions/apucreateheap.md)
- [ApuHeapState](/reference/audio/apu/structs/apuheapstate.md)
- [ApuHeapGetState](/reference/audio/apu/functions/apuheapgetstate.md)
