Informações de versão ACX

Este tópico discute as informações de versão do ACX e KMDF. Para obter uma visão geral do ACX, consulte Visão geral das extensões de classe de áudio ACX.

Observação

Os cabeçalhos e bibliotecas ACX não estão incluídos no WDK 10.0.22621.2428 (lançado em 24 de outubro de 2023), mas estão disponíveis em versões anteriores, bem como no Insider Preview mais recente (compilações da série 25000) do WDK. Para obter mais informações sobre versões de visualização do WDK, consulte Instalando versões de visualização do WDK (Kit de Driver do Windows).

Versões ACX e KMDF

Use a extensão !wdfkd.wdfldr para exibir informações de versão do ACX. A extensão !wdfkd.wdfldr exibe informações sobre os drivers que estão atualmente vinculados dinamicamente às estruturas de driver do Windows.

!wdfkd.wdfldr Acx01000.sys

Versão 1.1

A versão atual do ACX é 1.1 e é recomendada para todo o desenvolvimento de novos drivers.

O suporte do sistema operacional Windows para versões ACX é descrito na tabela a seguir.

Sistema operacional Versão KMDF Versão ACX suportada Notas de versão
Windows 10, versão 2004 Mínimo 1,31 1,1 Lançamento público inicial.

Essas DDIs foram adicionadas na versão 1.1.

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

Versão de pré-lançamento 1.0

A versão 1.0 não é recomendada para o desenvolvimento de novos drivers, mas foi usada no início do desenvolvimento e teste de drivers ACX.

Sistema operacional Versão KMDF Versão ACX suportada Notas de versão
Windows 10, versão 1903 1.29 1.0 Pré-lançamento.

Informações de versão do KMDF

Os objetos ACX são objetos WDF (Windows Driver Framework) - WDFOBJECT. Para obter mais informações sobre o WDF, consulte Introdução aos objetos do Framework. O ACX se vincula a uma versão específica do KMDF em tempo de execução. Para obter mais informações, consulte Histórico de versões do KMDF.

Para obter informações sobre como instalar versões diferentes do WDF/KMDF, consulte os seguintes tópicos:

O ACX se vincula a uma versão específica do KMDF em tempo de execução. Quando o Windows carrega um driver WDF de modo kernel, o driver é vinculado dinamicamente à biblioteca de tempo de execução (WdfMM000.sys) KMDF. Vários drivers podem compartilhar a mesma imagem de biblioteca de tempo de execução (DLL) e as bibliotecas de tempo de execução para duas versões principais podem coexistir lado a lado. Para obter informações sobre o controle de versão KMDF, consulte Controle de versão da biblioteca do Framework.

Suporte a várias versões ACX

Ao criar o driver de áudio, você especifica a versão máxima e mínima da estrutura ACX que deseja usar no momento da compilação. Assim, o driver de áudio em tempo de execução pode assumir que a versão max/min do DDI está disponível, caso contrário, o driver de áudio não carrega.

Os drivers ACX podem ser gravados para serem executados em várias versões do ACX e, em tempo de execução, fazer a chamada se um DDI ACX específico, estrutura, etc. estiver presente ou não nessa versão. ACX_IS_FUNCTION_AVAILABLE(FunctionName) pode ser usado para ver se uma função específica está disponível em uma versão específica do ACX. Para obter mais informações, consulte ACX_IS_FUNCTION_AVAILABLE macro.

O código a seguir, fornece um exemplo sobre como verificar se uma função está disponível.

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

Também estão disponíveis essas funções semelhantes.

ACX_IS_STRUCTURE_AVAILABLE(StructName) descrito em ACX_IS_STRUCTURE_AVAILABLE macro.

ACX_IS_FIELD_AVAILABLE(StructName, FieldName) descrito em ACX_IS_FIELD_AVAILABLE macro.

ACX também suporta a função ACX_DRIVER_VERSION_AVAILABLE_PARAMS_INIT que pode ser usada para verificar as informações de versão do driver de áudio, conforme mostrado no exemplo de código a seguir.

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

Confira também

ACX_IS_FUNCTION_AVAILABLE macro

Visão geral das extensões de classe de áudio ACX

Documentação de referência do ACX