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

# XDspConnect

> XDspConnect

# XDspConnect

하드웨어 서버와 연결을 설정하고, XDSP 클라이언트 인스턴스를 만들고, 처리에 필요한 리소스를 할당합니다. 동시에 활성 XDSP 클라이언트는 전역적으로 8개로 제한됩니다.

## 구문

```cpp theme={null}
HRESULT XDspConnect(  
         float* baseBuffer,  
         uint32_t baseBufferLength,  
         uint32_t aggregateImpulseResponseInSeconds,  
         XDspClientHandle* handle  
)  
```

### 매개 변수

*baseBuffer*   \_In\_\
형식: float\*

XDSP 호출자가 입력 데이터를 전달하고 출력 데이터를 검색하는 데 사용하기 위해 할당하는 연속된 버퍼입니다. 자세한 내용은 아래의 **설명** 섹션을 참조하세요.

*baseBufferLength*   \_In\_\
형식: uint32\_t

*baseBuffer*의 바이트 단위 길이입니다. 이 길이는 최소 64KB이고 500MB를 초과해서는 안 됩니다.

*aggregateImpulseResponseInSeconds*   \_In\_\
형식: uint32\_t

이 클라이언트에서 동시에 활성화될 모든 개별 임펄스 응답 지속 시간의 전체 지속 시간을 나타냅니다. *aggregateImpulseResponseInSeconds*는 [XDspProcessType::Convolution](https://docs.xbox.com/ko/reference/audio/xdspaudio/enums/xdspprocesstype.md)의 경우 0보다 큰 값으로 설정해야 하며, 그렇지 않으면 0이어야 합니다. 모든 XDSP 클라이언트에 걸쳐 통합 임펄스 응답은 전역적으로 128초로 제한됩니다.

*handle*   \_Outptr\_\
형식: [XDspClientHandle\*](https://docs.xbox.com/ko/reference/audio/xdspaudio/handles/xdspclienthandle.md)

[XDspActivate](https://docs.xbox.com/ko/reference/audio/xdspaudio/functions/xdspactivate.md)를 통해 스트림을 활성화하고 [XDspDisconnect](https://docs.xbox.com/ko/reference/audio/xdspaudio/functions/xdspdisconnect.md)를 통해 하드웨어 서버에서 클라이언트를 연결 해제하는 데 사용해야 할 XDSP 클라이언트에 대한 핸들입니다. 모든 XDSPClientHandle에 대해 언제든 최대 256개의 스트림이 활성화될 수 있습니다.

### 반환 값

형식: HRESULT

메서드가 성공하면 S\_OK를 반환합니다. 메서드가 실패하면 다음 코드 중 하나를 반환합니다(부분 목록).

| 반환 코드 | 설명 |
| - | - |
| E\_INVALIDARG | 하나 이상의 인수가 유효하지 않습니다. |
| E\_OUTOFMEMORY | 메모리 할당에 실패했습니다. |
| XDSP\_E\_MAX\_CLIENTS\_EXCEEDED | 최대 개수의 XDspClient가 이미 생성되었습니다. |
| XDSP\_E\_MAX\_AGGREGATE\_IMPULSE\_RESPONSE\_EXCEEDED | 현재 [XDspConnect](https://docs.xbox.com/ko/reference/audio/xdspaudio/functions/xdspconnect.md) 호출이 XDSP가 지원하는 최대 통합 임펄스 응답 길이를 초과하게 만들며 유효하지 않습니다. |

## 설명

호출이 성공하면 호출자는 \_baseBuffer\_를 사용하여 [XDspCommand](https://docs.xbox.com/ko/reference/audio/xdspaudio/structs/xdspcommand.md) 매개 변수를 통해 스트림의 입력 데이터를 전달하고 출력 데이터를 검색할 수 있습니다. 엔벨로핑이 사용되는 경우 이 버퍼는 엔벨로프 매개 변수를 저장하기 위한 버퍼도 고려해야 합니다. 엔벨로핑에 대한 자세한 내용은 [XDSP API를 사용한 엔벨로핑 개요](https://docs.xbox.com/ko/build/console-features/audio/overviews/xdsp-overview-enveloping.md)를 참조하세요.

이 함수는 XDSP 스트림을 활성화하기 전에 호출해야 합니다. 이 호출은 [XDspActivate](https://docs.xbox.com/ko/reference/audio/xdspaudio/functions/xdspactivate.md)를 통해 활성화될 모든 XDSP 스트림에 대해 여러 완전한 오디오 스트림을 입력으로, 여러 출력 버퍼로, 그리고 [XDspProcessType::ForwardFourierTransform](https://docs.xbox.com/ko/reference/audio/xdspaudio/enums/xdspprocesstype.md) 처리 유형에 대한 [XDspCommand](https://docs.xbox.com/ko/reference/audio/xdspaudio/structs/xdspcommand.md)의 일부로 사용될 수 있는 여러 블록 승수 버퍼로 저장하기에 충분한 크기의 하나의 큰 메모리 청크를 등록합니다. 이 버퍼의 최소 및 최대 크기 요구 사항에 유의하세요(위 참조). 이 호출이 성공하면 모든 XDSP 스트림은 이 메모리 청크의 어떤 부분에도 액세스할 수 있습니다.

이 메모리는 다음 특성을 갖는 XMemAlloc()을 통해 할당해야 합니다. **XALLOC\_MEMTYPE\_PHYSICAL\_CACHEABLE**, **XALLOC\_PAGESIZE\_64KB**, **XALLOC\_ALIGNMENT\_64K**

이러한 특성은 \*\*MAKE\_XALLOC\_ATTRIBUTES()\*\*를 사용하여 설정해야 합니다.

다음은 그 예입니다.

```cpp theme={null}
static const ULONGLONG XMemAllocAttributes = MAKE_XALLOC_ATTRIBUTES(allocatorId,
   0,
   XALLOC_MEMTYPE_PHYSICAL_CACHEABLE,
   XALLOC_PAGESIZE_64KB,
   XALLOC_ALIGNMENT_64K,
   FALSE);
```

위의 예에서 \_allocatorId\_는 타이틀에서 사용하는 올바른 할당자 ID로 대체해야 합니다.

\_baseBuffer\_를 여러 스트림의 다른 입력 스트림과 출력 버퍼를 담기 위해 분할하고 재사용하는 것은 호출자에게 달려 있습니다. \_impulseResponse\_는 이 \_baseBuffer\_에서 가져올 필요가 없으며 호출자가 할당한 어떤 메모리에서도 가져올 수 있습니다.

\_baseBuffer\_가 가리키는 메모리는 [XDspConnect](https://docs.xbox.com/ko/reference/audio/xdspaudio/functions/xdspconnect.md)가 호출될 때까지 해제해서는 안 됩니다.

[XDSP API](https://docs.xbox.com/ko/reference/audio/xdspaudio/xdspaudio_members.md)에 전달되는 모든 메모리 포인터는 16바이트 정렬이어야 합니다.

호출이 성공하면 [XDspActivate](https://docs.xbox.com/ko/reference/audio/xdspaudio/functions/xdspactivate.md) 및 [XDspDisconnect](https://docs.xbox.com/ko/reference/audio/xdspaudio/functions/xdspdisconnect.md) 호출에 사용할 유효한 [XDspClientHandle](https://docs.xbox.com/ko/reference/audio/xdspaudio/handles/xdspclienthandle.md)이 반환됩니다.

## 요구 사항

**헤더:** XDspAudio.h

**라이브러리:** Chad.lib

**지원 플랫폼:** XBOX Series X|S

## 개념 설명서

* [XDSP 엔벨로핑 개요](https://docs.xbox.com/ko/build/console-features/audio/overviews/xdsp-overview-enveloping.md)
* [XDSP API를 사용한 엔벨로프 포함 단일 스트림 컨볼루션 개요](https://docs.xbox.com/ko/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution-with-envelope.md)
* [XDSP API를 사용한 단일 스트림 컨볼루션 개요](https://docs.xbox.com/ko/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution.md)
* [XDSP 개요](https://docs.xbox.com/ko/build/console-features/audio/overviews/xdsp-overview.md)

## 관련 항목

[XDSP](https://docs.xbox.com/ko/reference/audio/xdspaudio/xdspaudio_members.md)\
[XDspConnectWithMaximumStreamLimit](https://docs.xbox.com/ko/reference/audio/xdspaudio/functions/xdspconnectwithmaximumstreamlimit.md)\
[XDspDisconnect](https://docs.xbox.com/ko/reference/audio/xdspaudio/functions/xdspdisconnect.md)\
[XDSP 오류](https://docs.xbox.com/ko/reference/audio/xdspaudio/enums/xdsperrors.md)\
[XDSP API를 사용한 단일 스트림 컨볼루션 개요](https://docs.xbox.com/ko/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution.md)\
[XDSP API를 사용한 단일 스트림 FFT/IFFT 개요](https://docs.xbox.com/ko/build/console-features/audio/overviews/xdsp-overview-single-stream-fft-ifft.md)\
[XDSP API를 사용한 엔벨로프 포함 단일 스트림 컨볼루션 개요](https://docs.xbox.com/ko/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution-with-envelope.md)


## Related topics

- [XDspConnectWithMaximumStreamLimit](https://docs.xbox.com/ko/reference/audio/xdspaudio/functions/xdspconnectwithmaximumstreamlimit.md)
- [XDspDisconnect](https://docs.xbox.com/ko/reference/audio/xdspaudio/functions/xdspdisconnect.md)
- [XDspCommand](https://docs.xbox.com/ko/reference/audio/xdspaudio/structs/xdspcommand.md)
- [XDspClientHandle](https://docs.xbox.com/ko/reference/audio/xdspaudio/handles/xdspclienthandle.md)
- [XDspActivationParameters](https://docs.xbox.com/ko/reference/audio/xdspaudio/structs/xdspactivationparameters.md)
