> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XDspActivate

> XDspActivate

# XDspActivate

從集區取得可用的處理資源來啟用 XDSP 串流。每個 XDSP 用戶端最多只能啟用 256 個串流。

## 語法

```cpp theme={null}
HRESULT XDspActivate(  
         XDspClientHandle clientHandle,  
         XDspActivationParameters* params,  
         XDspStatus** status,  
         XDspStreamHandle* streamHandle  
)  
```

### 參數

*clientHandle*   \_In\_\
類型:[XDspClientHandle](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/handles/xdspclienthandle.md)

從呼叫 XDspConnect 取得的有效 XDSP 用戶端控制代碼。

*params*   \_In\_\
類型:[XDspActivationParameters\*](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/structs/xdspactivationparameters.md)

[XDspActivationParameters](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/structs/xdspactivationparameters.md) 結構的指標。

*status*   \_Outptr\_\
類型:[XDspStatus\*\*](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/structs/xdspstatus.md)

[XDspStatus](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/structs/xdspstatus.md) 結構的指標。如需其他詳細資料,請參閱**備註**一節。

*streamHandle*   \_Outptr\_\
類型:[XDspStreamHandle\*](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/handles/xdspstreamhandle.md)

如果呼叫成功,則為有效的 [XDspStreamHandle](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/handles/xdspstreamhandle.md)。如需其他詳細資料,請參閱**備註**一節。

### 傳回值

類型:HRESULT

如果方法成功,會傳回 S\_OK。如果方法失敗,會傳回下列其中一個代碼 (部分清單):

| 傳回碼 | 描述 |
| - | - |
| E\_POINTER | 無效的指標。 |
| E\_INVALIDARG | 一或多個引數無效。 |
| XDSP\_E\_NO\_DEVICE\_RESOURCES | 沒有可用的 XDSP 裝置資源來處理您的要求。 |
| XDSP\_E\_INVALID\_IMPULSE\_RESPONSE\_LENGTH | 提供的脈衝回應長度無效。如果提供的 [impulseResponseLengthInFloats](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/structs/xdspactivationparameters.md) 小於 (`9 * blockSize * 2`) 或大於 16 秒 (`16 * 48000 * 2`),就可能發生此錯誤。 |

## 備註

此呼叫速度很快,因為它是從集區取得資源,而不是配置資源。

呼叫端必須為 XDSP 串流指定要執行的 [XDspProcessType](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/enums/xdspprocesstype.md)。XDSP 串流的執行個體在其存留期間只能使用一種處理類型。若要執行兩種以上不同的處理類型,必須具現化兩個以上的 XDSP 串流執行個體。

在 [XDspActivationParameters](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/structs/xdspactivationparameters.md) 結構中,呼叫端必須指定下列項目:

* 啟用選項。
* 每個命令中將處理的框架數目,也就是輸入和輸出的框架數目。
* 串流的聲道數目。僅支援單聲道和立體聲輸入串流。
* 對於 [XDspProcessType::Convolution](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/enums/xdspprocesstype.md) 處理類型,指定以 float 為單位的脈衝回應長度。
* 對於 [XDspProcessType::Convolution](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/enums/xdspprocesstype.md) 處理類型,指定以頻域值表示的脈衝回應。

如果呼叫成功,將會傳回有效的 [XDspStreamHandle](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/handles/xdspstreamhandle.md),以便針對此串流搭配其他呼叫 ([XDspSubmitCommand](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/functions/xdspsubmitcommand.md)、[XDspSubmitCommandWithEnvelope](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/functions/xdspsubmitcommandwithenvelope.md)、[XDspDeactivate](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/functions/xdspdeactivate.md)) 使用。此外,如果此呼叫成功,它會傳回 [XDspStatus](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/structs/xdspstatus.md) 的指標,可用來檢查已提交命令的狀態。

這應該用來判斷已處理的最新命令,以及已提交命令的結果是否已準備好可供取用。
[XDspStatus](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/structs/xdspstatus.md) 也包含其所代表 XDSP 串流最後提交至硬體之命令的序號,以及第一個失敗命令的序號。在摺積處理的情況下,呼叫端可以在此呼叫傳回後釋放脈衝回應記憶體。

## 需求

**標頭:** XDspAudio.h

**程式庫:** Chad.lib

**支援的平台:** XBOX Series X|S

## 概念文件

* [使用 XDSP API 進行含 Envelope 的單一串流 Convolution 的概觀](https://docs.xbox.com/zh-TW/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution-with-envelope.md)
* [使用 XDSP API 進行單一串流 Convolution 的概觀](https://docs.xbox.com/zh-TW/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution.md)
* [XDSP 概觀](https://docs.xbox.com/zh-TW/build/console-features/audio/overviews/xdsp-overview.md)

## 另請參閱

[XDSP](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/xdspaudio_members.md)\
[XDSP 錯誤](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/enums/xdsperrors.md)\
[使用 XDSP API 進行單一串流 Convolution 的概觀](https://docs.xbox.com/zh-TW/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution.md)\
[使用 XDSP API 進行單一串流 FFT/IFFT 的概觀](https://docs.xbox.com/zh-TW/build/console-features/audio/overviews/xdsp-overview-single-stream-fft-ifft.md)\
[使用 XDSP API 進行含 Envelope 的單一串流 Convolution 的概觀](https://docs.xbox.com/zh-TW/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution-with-envelope.md)


## Related topics

- [XDspDeactivate](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/functions/xdspdeactivate.md)
- [XDspClientHandle](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/handles/xdspclienthandle.md)
- [XDspStreamHandle](https://docs.xbox.com/zh-TW/reference/audio/xdspaudio/handles/xdspstreamhandle.md)
- [XDSP 概觀](https://docs.xbox.com/zh-TW/build/console-features/audio/overviews/xdsp-overview.md)
- [使用 XDSP API 進行單一串流摺積概觀](https://docs.xbox.com/zh-TW/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution.md)
