Skip to main content

XDspConnectWithMaximumStreamLimit

하드웨어 서버와 연결을 설정하고, XDSP 클라이언트 인스턴스를 만들고, 처리에 필요한 리소스를 할당합니다. API가 사용하는 전체 메모리 사용량을 줄이는 데 도움이 되는 두 개의 추가 매개 변수 maximumStreamCount와 maximumChannelCount를 사용한다는 점을 제외하고는 XDspConnect API와 유사합니다. 동시에 활성 XDSP 클라이언트는 전역적으로 8개로 제한됩니다.

구문

매개 변수

baseBuffer   _In_
형식: float*
XDSP 호출자가 입력 데이터를 전달하고 출력 데이터를 검색하는 데 사용하기 위해 할당하는 연속된 버퍼입니다. 자세한 내용은 아래의 설명 섹션을 참조하세요. baseBufferLength   _In_
형식: uint32_t
baseBuffer의 바이트 단위 길이입니다. 이 길이는 최소 64KB이고 500MB를 초과해서는 안 됩니다. aggregateImpulseResponseInSeconds   _In_
형식: uint32_t
이 클라이언트에서 동시에 활성화될 모든 개별 임펄스 응답 지속 시간의 전체 지속 시간을 나타냅니다. aggregateImpulseResponseInSecondsXDspProcessType::Convolution의 경우 0보다 큰 값으로 설정해야 하며, 그렇지 않으면 0이어야 합니다. 모든 XDSP 클라이언트에 걸쳐 통합 임펄스 응답은 전역적으로 128초로 제한됩니다. maximumStreamCount   _In_
형식: uint32_t
이 XDspClientHandle에 대해 언제든 활성 상태일 수 있는 최대 스트림 수입니다. 이 개수는 256을 초과할 수 없습니다. 이 개수를 초과하면 XDspActivate가 XDSP_E_NO_DEVICE_RESOURCES를 반환합니다. maximumChannelCount   _In_
형식: uint32_t
1(모노 스트림용) 또는 2(스테레오 스트림용)일 수 있습니다. 다른 값이 사용되면 이 API는 E_INVALIDARG를 반환합니다. handle   _Outptr_
형식: XDspClientHandle*
XDspActivate를 통해 스트림을 활성화하고 XDspDisconnect를 통해 하드웨어 서버에서 클라이언트를 연결 해제하는 데 사용해야 할 XDSP 클라이언트에 대한 핸들입니다.

반환 값

형식: HRESULT 메서드가 성공하면 S_OK를 반환합니다. 메서드가 실패하면 다음 코드 중 하나를 반환합니다(부분 목록).

설명

호출이 성공하면 호출자는 _baseBuffer_를 사용하여 XDspCommand 매개 변수를 통해 스트림의 입력 데이터를 전달하고 출력 데이터를 검색할 수 있습니다. 엔벨로핑이 사용되는 경우 이 버퍼는 엔벨로프 매개 변수를 저장하기 위한 버퍼도 고려해야 합니다. 엔벨로핑에 대한 자세한 내용은 XDSP API를 사용한 엔벨로핑 개요를 참조하세요. 이 함수는 XDSP 스트림을 활성화하기 전에 호출해야 합니다. 이 호출은 XDspActivate를 통해 활성화될 모든 XDSP 스트림에 대해 여러 완전한 오디오 스트림을 입력으로, 여러 출력 버퍼로, 그리고 XDspProcessType::ForwardFourierTransform 처리 유형에 대한 XDspCommand의 일부로 사용될 수 있는 여러 블록 승수 버퍼로 저장하기에 충분한 크기의 하나의 큰 메모리 청크를 등록합니다. 이 버퍼의 최소 및 최대 크기 요구 사항에 유의하세요(위 참조). 이 호출이 성공하면 모든 XDSP 스트림은 이 메모리 청크의 어떤 부분에도 액세스할 수 있습니다. 이 메모리는 다음 특성을 갖는 XMemAlloc()을 통해 할당해야 합니다. XALLOC_MEMTYPE_PHYSICAL_CACHEABLE, XALLOC_PAGESIZE_64KB, XALLOC_ALIGNMENT_64K 이러한 특성은 **MAKE_XALLOC_ATTRIBUTES()**를 사용하여 설정해야 합니다. 다음은 그 예입니다.
위의 예에서 _allocatorId_는 타이틀에서 사용하는 올바른 할당자 ID로 대체해야 합니다. _baseBuffer_를 여러 스트림의 다른 입력 스트림과 출력 버퍼를 담기 위해 분할하고 재사용하는 것은 호출자에게 달려 있습니다. _impulseResponse_는 이 _baseBuffer_에서 가져올 필요가 없으며 호출자가 할당한 어떤 메모리에서도 가져올 수 있습니다. _baseBuffer_가 가리키는 메모리는 XDspConnect가 호출될 때까지 해제해서는 안 됩니다. XDSP API에 전달되는 모든 메모리 포인터는 16바이트 정렬이어야 합니다. 호출이 성공하면 XDspActivateXDspDisconnect 호출에 사용할 유효한 XDspClientHandle이 반환됩니다.

요구 사항

헤더: XDspAudio.h 라이브러리: Chad.lib 지원 플랫폼: XBOX Series X|S

개념 설명서

관련 항목

XDSP
XDSPConnect
XDspDisconnect
XDSP 오류
XDSP API를 사용한 단일 스트림 컨볼루션 개요
XDSP API를 사용한 단일 스트림 FFT/IFFT 개요
XDSP API를 사용한 엔벨로프 포함 단일 스트림 컨볼루션 개요
마지막 수정일 2026년 8월 24일