Compartilhar via


Informações de versão ACX

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

Versões do ACX e da KMDF

Use a extensão !wdfkd.wdfldr para exibir informações de versão do ACX. A extensão !wdfkd.wdfldr mostra informações sobre os drivers KMDF e UMDF que no momento estão vinculados dinamicamente às Windows Driver Frameworks.

!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 as versões do ACX é descrito na tabela a seguir.

Sistema operacional Versão do KMDF Versão da ACX compatível Notas de versão
Windows 10, versão 2004 Mínimo de 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 1.0 de pré-lançamento

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

Sistema operacional Versão do KMDF Versão da ACX compatível Notas de versão
Windows 10, versão 1903 1.29 1.0 Pré-lançamento.

Informações de versão KMDF

Os objetos ACX são objetos de Estrutura de Driver do Windows (WDF) – WDFOBJECT. Para obter mais informações sobre o WDF, consulte Introdução aos objetos de estrutura. O ACX é vinculado a uma versão específica da KMDF no momento da execução. Para obter mais informações, consulte Histórico de versões da KMDF.

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

O ACX é vinculado a uma versão específica da KMDF no momento da execução. Quando o Windows carrega um driver do WDF no modo kernel, o driver é vinculado dinamicamente à biblioteca de tempo de execução (WdfMM000.sys) da 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 da KMDF, consulte Controle de versão da biblioteca da estrutura.

Suporte a várias versões do ACX

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

Os drivers do ACX podem ser gravados para serem executados em várias versões do ACX e, no momento da execução, fazer a chamada se uma DDI, estrutura etc. do ACX específica 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 Macro ACX_IS_FUNCTION_AVAILABLE.

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 na macro ACX_IS_STRUCTURE_AVAILABLE.

ACX_IS_FIELD_AVAILABLE(StructName, FieldName) descrito na macro ACX_IS_FIELD_AVAILABLE.

O 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

Macro ACX_IS_FUNCTION_AVAILABLE

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

Documentação de referência da ACX