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