Información de versión de ACX

En este tema se describe la información de la versión de ACX y KMDF. Para obtener información general sobre ACX, consulte Introducción a las extensiones de clase de audio de ACX.

Nota:

Los encabezados y bibliotecas de ACX no se incluyen en WDK 10.0.22621.2428 (publicado el 24 de octubre de 2023), pero están disponibles en versiones anteriores, así como en las versiones anteriores (compilaciones de la serie 25000) Insider Preview de WDK. Para obtener más información sobre las versiones preliminares del WDK, consulte Instalación de versiones preliminares del Kit de controladores de Windows (WDK).

Versiones de ACX y KMDF

Use la extensión !wdfkd.wdfldr para ver la información de versión de ACX. La extensión !wdfkd.wdfldr muestra información sobre los controladores que están actualmente enlazados dinámicamente a los marcos de windows Driver Framework.

!wdfkd.wdfldr Acx01000.sys

Versión 1.1

La versión actual de ACX es 1.1 y se recomienda para todo el desarrollo de controladores nuevos.

La compatibilidad del sistema operativo Windows con las versiones de ACX se describe en la tabla siguiente.

Sistema operativo Versión de KMDF Versión de ACX compatible Notas de la versión
Windows 10, versión 2004 Mínimo 1.31 1.1 Versión pública inicial.

Estas DDIs se agregaron en la versión 1.1.

  • AcxCircuitGetElementsCount
  • AcxCircuitGetPinsCount
  • AcxCircuitGetSymbolicLinkName
  • AcxCircuitGetNotificationId
  • AcxFactoryCircuitGetSymbolicLinkName
  • AcxDataFormatListRemoveDataFormats
  • AcxPinRemoveModeDataFormatList
  • AcxStreamGetElementsCount
  • AcxStreamGetNotificationId
  • AcxTargetCircuitGetSymbolicLinkName
  • AcxTargetPinFlushModeDataFormatListCache

Versión preliminar 1.0

La versión 1.0 no se recomienda para el desarrollo de nuevos controladores, pero se usó en el desarrollo inicial y las pruebas de controladores ACX.

Sistema operativo Versión de KMDF Versión de ACX compatible Notas de la versión
Windows 10, versión 1903 1.29 1.0 Versión preliminar.

Información de la versión de KMDF

Los objetos ACX son objetos de Windows Driver Framework (WDF): WDFOBJECT. Para obtener más información sobre WDF, vea Introduction to Framework Objects. ACX se enlaza a una versión específica de KMDF en tiempo de ejecución. Para obtener más información, consulte Historial de versiones de KMDF.

Para obtener información sobre cómo instalar diferentes versiones de WDF/KMDF, consulte los temas siguientes:

ACX enlaza a una versión específica de KMDF en tiempo de ejecución. Cuando Windows carga un controlador WDF en modo kernel, el controlador se enlaza dinámicamente a la biblioteca en tiempo de ejecución de KMDF (WdfMM000.sys). Varios controladores pueden compartir la misma imagen de biblioteca en tiempo de ejecución (DLL) y las bibliotecas en tiempo de ejecución para dos versiones principales pueden coexistir en paralelo. Para obtener información sobre el control de versiones de KMDF, consulte Control de versiones de la biblioteca de marcos.

Compatibilidad con varias versiones de ACX

Al compilar el controlador de audio, especifique la versión máxima y mínima del marco ACX que desea usar en tiempo de compilación. Por lo tanto, el controlador de audio en tiempo de ejecución puede suponer que la versión max/min de DDI está disponible, de lo contrario, el controlador de audio no se puede cargar.

Los controladores ACX se pueden escribir para ejecutarse en varias versiones de ACX y en tiempo de ejecución realizan la llamada si hay una ACX DDI, estructura, etc. específica presente o no en esa versión. ACX_IS_FUNCTION_AVAILABLE(FunctionName) se puede usar para ver si una función específica está disponible en una versión específica de ACX. Para obtener más información, consulte macro ACX_IS_FUNCTION_AVAILABLE.

En el código siguiente se proporciona un ejemplo sobre cómo comprobar si hay una función disponible.

    if (ACX_IS_FUNCTION_AVAILABLE( AcxTargetPinFlushModeDataFormatListCache)) {
        DbgPrint("Available:  AcxTargetPinFlushModeDataFormatListCache\n");
    }
    else
    {
        DbgPrint("Not available:  AcxTargetPinFlushModeDataFormatListCache\n");
        ASSERT(FALSE);
    }

También están disponibles estas funciones similares.

ACX_IS_STRUCTURE_AVAILABLE(StructName) que se describe en ACX_IS_STRUCTURE_AVAILABLE macro.

ACX_IS_FIELD_AVAILABLE(StructName, FieldName) que se describe en ACX_IS_FIELD_AVAILABLE macro.

ACX también admite la función ACX_DRIVER_VERSION_AVAILABLE_PARAMS_INIT que se puede usar para comprobar la información de versión del controlador de audio, como se muestra en el ejemplo de código siguiente.

    ACX_DRIVER_VERSION_AVAILABLE_PARAMS_INIT(&ver, 1, 1);
    if (!AcxDriverIsVersionAvailable(driver, &ver))
    {
        ASSERT(FALSE);
        goto exit;
    } 

Consulte también

macro de ACX_IS_FUNCTION_AVAILABLE

Introducción a las extensiones de clase de audio de ACX

Documentación de referencia de ACX