Сведения о версии ACX
В этом разделе рассматриваются сведения о версии ACX и KMDF. Общие сведения о расширениях класса ACX см. в разделе "Общие сведения о расширениях аудиофайла ACX".
Версии ACX и KMDF
Используйте расширение !wdfkd.wdfldr для просмотра сведений о версии ACX. Расширение !wdfkd.wdfldr отображает сведения о драйверах, которые в настоящее время динамически привязаны к Платформам драйверов Windows.
!wdfkd.wdfldr Acx01000.sys
Версия 1.1
Текущая версия ACX — 1.1 и рекомендуется для разработки всех новых драйверов.
Поддержка ОС Windows для версий ACX описана в следующей таблице.
Операционная система | Версия KMDF | Поддерживаемая версия ACX | Заметки о версии |
---|---|---|---|
Windows 10 версии 2004 | Минимум 1.31 | 1,1 | Первоначальный общедоступный выпуск. |
Эти DDIs были добавлены в версию 1.1.
- AcxCircuitGetElementsCount
- AcxCircuitGetPinsCount
- AcxCircuitGetSymbolicLinkName
- AcxCircuitGetNotificationId
- AcxFactoryCircuitGetSymbolicLinkName
- AcxDataFormatListRemoveDataFormats
- AcxPinRemoveModeDataFormatList
- AcxStreamGetElementsCount
- AcxStreamGetNotificationId
- AcxTargetCircuitGetSymbolicLinkName
- AcxTargetPinFlushModeDataFormatListCache
Предварительная версия 1.0
Версия 1.0 не рекомендуется для разработки новых драйверов, но она использовалась в начале разработки и тестирования драйверов ACX.
Операционная система | Версия KMDF | Поддерживаемая версия ACX | Заметки о версии |
---|---|---|---|
Windows 10 версии 1903 | 1,29 | 1.0 | Предварительная версия. |
Сведения о версии KMDF
Объекты ACX — это объекты Windows Driver Framework (WDF) — WDFOBJECT. Дополнительные сведения о WDF см. в разделе "Общие сведения о объектах Платформы". ACX привязывается к определенной версии KMDF во время выполнения. Дополнительные сведения см. в разделе "Журнал версий KMDF".
Сведения об установке различных версий WDF/KMDF см. в следующих разделах:
ACX привязывается к определенной версии KMDF во время выполнения. При загрузке драйвера WDF в режиме ядра драйвер драйвер динамически привязан к библиотеке времени выполнения KMDF (WdfMM000.sys). Несколько драйверов могут совместно использовать один и тот же образ библиотеки времени выполнения (DLL), а библиотеки времени выполнения для двух основных версий могут совместно существовать параллельно. Сведения об использовании версий KMDF см. в разделе "Управление версиями библиотеки платформы".
Поддержка нескольких версий ACX
При сборке звукового драйвера необходимо указать максимальную и минимальную версию платформы ACX, которую вы хотите использовать во время компиляции. Таким образом, звуковой драйвер во время выполнения может предположить, что доступна максимальная или минимальная версия DDI, в противном случае звуковой драйвер не загружается.
Драйверы ACX можно записать на выполнение в нескольких версиях ACX и во время выполнения, если определенный DDI ACX, структура и т. д. присутствует или нет в этой версии. ACX_IS_FUNCTION_AVAILABLE(FunctionName) можно использовать, чтобы узнать, доступна ли определенная функция в определенной версии ACX. Дополнительные сведения см. в разделе ACX_IS_FUNCTION_AVAILABLE макросов.
В следующем коде приведен пример проверка, если функция доступна.
if (ACX_IS_FUNCTION_AVAILABLE( AcxTargetPinFlushModeDataFormatListCache)) {
DbgPrint("Available: AcxTargetPinFlushModeDataFormatListCache\n");
}
else
{
DbgPrint("Not available: AcxTargetPinFlushModeDataFormatListCache\n");
ASSERT(FALSE);
}
Кроме того, доступны эти аналогичные функции.
ACX_IS_STRUCTURE_AVAILABLE(StructName), описанное в макросе ACX_IS_STRUCTURE_AVAILABLE.
ACX_IS_FIELD_AVAILABLE(StructName, FieldName), описанный в макросе ACX_IS_FIELD_AVAILABLE.
ACX также поддерживает функцию ACX_DRIVER_VERSION_AVAILABLE_PARAMS_INIT, которую можно использовать для проверка сведений о версии звукового драйвера, как показано в следующем примере кода.
ACX_DRIVER_VERSION_AVAILABLE_PARAMS_INIT(&ver, 1, 1);
if (!AcxDriverIsVersionAvailable(driver, &ver))
{
ASSERT(FALSE);
goto exit;
}
См. также
макрос ACX_IS_FUNCTION_AVAILABLE