ACX 版本信息
本主题讨论 ACX 和 KMDF 版本信息。 有关 ACX 的一般概述,请参阅 ACX 音频类扩展概述。
注意
ACX 标头和库不包括在 WDK 10.0.22621.2428(2023 年 10 月 24 日发布)中,但在早期版本中可用,以及 WDK 的最新(25000 系列内部版本)预览体验预览版。 有关 WDK 预览版的详细信息,请参阅 安装 Windows 驱动程序工具包(WDK)的预览版本。
ACX 和 KMDF 版本
使用 !wdfkd.wdfldr 扩展查看 ACX 的版本信息。 !wdfkd.wdfldr 扩展显示有关当前动态绑定到 Windows 驱动程序框架的驱动程序的信息。
!wdfkd.wdfldr Acx01000.sys
版本 1.1
ACX 的当前版本为 1.1 ,建议用于所有新的驱动程序开发。
下表介绍了对 ACX 版本的 Windows OS 支持。
操作系统 | KMDF 版本 | 支持的 ACX 版本 | 版本说明 |
---|---|---|---|
Windows 10 版本 2004 | 最低 1.31 | 1.1 | 初始公开发布。 |
这些 DDI 已在版本 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 驱动程序框架 (WDF) 对象 - WDFOBJECT。 有关 WDF 的详细信息,请参阅 框架对象简介。 ACX 在运行时绑定到特定版本的 KMDF。 有关详细信息,请参阅 KMDF 版本历史记录。
有关安装不同版本的 WDF/KMDF 的信息,请参阅以下主题:
ACX 在运行时绑定到特定版本的 KMDF。 当 Windows 加载内核模式 WDF 驱动程序时,驱动程序将动态绑定到 KMDF 运行时库(WdfMM000.sys)。 多个驱动程序可以共享相同的运行时库(DLL)映像,两个主要版本的运行时库可以并存。 有关 KMDF 版本控制的信息,请参阅 框架库版本控制。
多个 ACX 版本支持
生成音频驱动程序时,可以指定编译时要使用的 ACX 框架的最大和最低版本。 因此,运行时的音频驱动程序可以假定 DDI 的最大/最小版本可用,否则音频驱动程序无法加载。
如果特定 ACX DDI、结构等存在于该版本中,则 ACX 驱动程序可以写入到多个 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 宏中所述的 ACX_IS_STRUCTURE_AVAILABLE(StructName)。
ACX_IS_FIELD_AVAILABLE宏中所述的 ACX_IS_FIELD_AVAILABLE(StructName、FieldName)。
ACX 还支持ACX_DRIVER_VERSION_AVAILABLE_PARAMS_INIT函数,该函数可用于检查音频驱动程序的版本信息,如以下代码示例所示。
ACX_DRIVER_VERSION_AVAILABLE_PARAMS_INIT(&ver, 1, 1);
if (!AcxDriverIsVersionAvailable(driver, &ver))
{
ASSERT(FALSE);
goto exit;
}
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈