Skip to main content

XDspConnect

Establece una conexión con el servidor de hardware, crea una instancia de cliente de XDSP y asigna los recursos necesarios para el procesamiento. Hay un límite global de 8 clientes de XDSP activos simultáneamente.

Sintaxis

Parámetros

baseBuffer   _In_
Tipo: float*
Búfer contiguo que asigna un autor de llamada de XDSP para usarlo para pasar los datos de entrada y recuperar los datos de salida. Para obtener más detalles, consulte la sección Comentarios a continuación. baseBufferLength   _In_
Tipo: uint32_t
Longitud del baseBuffer, en bytes. Esta longitud debe ser de al menos 64 KB y no más de 500 MB. aggregateImpulseResponseInSeconds   _In_
Tipo: uint32_t
Representa la duración total de la duración de todas las respuestas al impulso individuales que se activarán simultáneamente en este cliente. aggregateImpulseResponseInSeconds debe establecerse en un valor mayor que cero para XDspProcessType::Convolution; de lo contrario, debe ser cero. Hay un límite global de 128 segundos de respuesta al impulso agregada entre todos los clientes de XDSP. handle   _Outptr_
Tipo: XDspClientHandle*
Identificador de un cliente de XDSP que debe usarse para activar secuencias mediante XDspActivate y desconectar el cliente del servidor de hardware mediante XDspDisconnect. Puede haber un máximo de 256 secuencias activas en un momento dado para todos los XDSPClientHandles.

Valor devuelto

Tipo: HRESULT Si el método se ejecuta correctamente, devuelve S_OK. Si el método falla, devuelve uno de los siguientes códigos (lista parcial):

Comentarios

Si la llamada se realiza correctamente, el autor de la llamada puede usar el baseBuffer para pasar los datos de entrada y recuperar los datos de salida de la secuencia mediante los parámetros de XDspCommand. Si se usan envolventes, este búfer también debe tener en cuenta los búferes para almacenar los parámetros de la envolvente. Consulte Información general de las envolventes mediante la API de XDSP para obtener más información sobre las envolventes. Se debe llamar a esta función antes de activar secuencias de XDSP para registrar un fragmento grande de memoria suficiente para contener varias secuencias de audio completas para usarlas como entrada, varios búferes de salida para todas las secuencias de XDSP que se activarán mediante XDspActivate y varios búferes multiplicadores de bloques que pueden usarse como parte de XDspCommand para el tipo de procesamiento XDspProcessType::ForwardFourierTransform. Tenga en cuenta los requisitos de tamaño mínimo y máximo para este búfer, como se ha indicado anteriormente. Si esta llamada se realiza correctamente, todas las secuencias de XDSP pueden acceder a cualquier parte de este fragmento de memoria. Esta memoria debe asignarse mediante XMemAlloc() con estos atributos: XALLOC_MEMTYPE_PHYSICAL_CACHEABLE, XALLOC_PAGESIZE_64KB, XALLOC_ALIGNMENT_64K Estos atributos deben establecerse mediante MAKE_XALLOC_ATTRIBUTES(). Un ejemplo de esto es el siguiente:
allocatorId en el ejemplo anterior debe reemplazarse por el identificador de asignador correcto que use el título. Corresponde al autor de la llamada particionar y reciclar baseBuffer para contener diferentes secuencias de entrada y búferes de salida para varias secuencias. La impulseResponse no tiene por qué proceder de este baseBuffer y puede proceder de cualquier memoria asignada por el autor de la llamada. La memoria a la que apunta baseBuffer no debe liberarse hasta que se llame a XDspConnect. Todos los punteros de memoria que se pasan a la API de XDSP deben estar alineados a 16 bytes. Si la llamada se realiza correctamente, se devolverá un XDspClientHandle válido para usarlo con las llamadas a XDspActivate y XDspDisconnect.

Requisitos

Encabezado: XDspAudio.h Biblioteca: Chad.lib Plataformas compatibles: XBOX Series X|S

Documentación conceptual

Consulte también

XDSP
XDspConnectWithMaximumStreamLimit
XDspDisconnect
Errores de XDSP
Información general de una convolución de secuencia única mediante la API de XDSP
Información general de una FFT/IFFT de secuencia única mediante la API de XDSP
Información general de una convolución de secuencia única con envolvente mediante la API de XDSP
Última modificación el 28 de agosto de 2026