Partager via


Informations sur la version de l'ACX

Cette rubrique traite des informations relatives aux versions ACX et KMDF. Pour une vue d’ensemble générale d’ACX, veuillez consulter la section vue d’ensemble des extensions audio de classe ACX.

Versions d'ACX et de KMDF

Utilisez l'extension !wdfkd.wdfldr pour afficher les informations sur la version d'ACX. L’extension !wdfkd.wdfldr affiche des informations sur les pilotes qui sont actuellement liés dynamiquement aux frameworks de pilotes Windows.

!wdfkd.wdfldr Acx01000.sys

Version 1.1

La version actuelle d'ACX est 1.1 et est recommandée pour tous les nouveaux développements de pilotes.

La prise en charge des versions ACX par le système d'exploitation Windows est décrite dans le tableau suivant.

Système d’exploitation Version KMDF Version de l’ACX prise en charge Notes de version
Windows 10, version 2004 1.31 minimum 1.1 Version publique initiale.

Ces DDI ont été ajoutées dans la version 1.1.

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

Version antérieure à la version 1.0

La version 1.0 n'est pas recommandée pour le développement de nouveaux pilotes, mais elle a été utilisée dans les premiers développements et tests des pilotes ACX.

Système d’exploitation Version KMDF Version de l’ACX prise en charge Notes de version
Windows 10, version 1903 1.29 1.0 Préversion.

Informations sur la version de l'KMDF

Les objets ACX sont des objets Windows Driver Framework (WDF) - WDFOBJECT. Pour plus d'informations sur le WDF, reportez-vous à la section Introduction aux objets cadres. ACX se lie à une version spécifique de KMDF au moment de l'exécution. Pour plus d'informations, voir Historique des versions de KMDF.

Pour plus d'informations sur l'installation des différentes versions de WDF/KMDF, reportez-vous aux rubriques suivantes :

ACX se lie à une version spécifique de KMDF au moment de l'exécution. Lorsque Windows charge un pilote WDF en mode noyau, celui-ci est lié dynamiquement à la bibliothèque d'exécution KMDF (WdfMM000.sys). Plusieurs pilotes peuvent partager la même image de bibliothèque d'exécution (DLL) et les bibliothèques d'exécution de deux versions majeures peuvent coexister. Pour plus d'informations sur le versionnement de KMDF, reportez-vous à la section Versionnement de la bibliothèque du framework.

Prise en charge de plusieurs versions d'ACX

Lorsque vous créez le pilote audio, vous spécifiez la version maximale et minimale du framework ACX que vous souhaitez utiliser au moment de la compilation. Ainsi, le pilote audio au moment de l'exécution peut supposer que la version max/min de DDI est disponible, sinon le pilote audio ne se charge pas.

Les pilotes ACX peuvent être écrits pour fonctionner sur plusieurs versions d'ACX et, au moment de l'exécution, faire l'appel si une DDI, une structure, etc. spécifique d'ACX est présente ou non dans cette version. ACX_IS_FUNCTION_AVAILABLE(NomFonction) peut être utilisé pour voir si une fonction spécifique est disponible dans une version spécifique d'ACX. Pour plus d'informations, voir la macro ACX_IS_FUNCTION_AVAILABLE.

Le code suivant fournit un exemple de vérification de la disponibilité d'une fonction.

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

Ces fonctions similaires sont également disponibles.

ACX_IS_STRUCTURE_AVAILABLE(NomStructure) décrit dans la macro ACX_IS_STRUCTURE_AVAILABLE.

ACX_IS_FIELD_AVAILABLE(StructName, FieldName) décrite dans la macro ACX_IS_FIELD_AVAILABLE.

ACX supporte également la fonction ACX_DRIVER_VERSION_AVAILABLE_PARAMS_INIT qui peut être utilisée pour vérifier les informations de version du pilote audio comme le montre l'exemple de code suivant.

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

Voir aussi

Macro ACX_IS_FUNCTION_AVAILABLE

Vue d’ensemble des extensions de classe audio ACX

Documentation de référence de l’ACX