PKEY_APO_SWFallback_ProcessingModes

从 Windows 10 版本 1809 开始,PKEY_APO_SWFallback_ProcessingModes 属性键标识可以回退到软件处理的模式。 驱动程序开发人员应列出支持其驱动程序支持的软件回退的所有模式效果处理模式。 此列表需要包含驱动程序在硬件中支持的所有模式。

如果为其中一种模式请求流,并且 HW 资源不足,无法在该处理模式下打开引脚,则将在 RAW 模式下打开一个引脚,并改用通过请求的处理模式初始化的 SW APO。 因此,若驱动程序想要支持 HW 处理模式的软件回退,则必须支持 RAW 模式。 有关音频模式的详细信息,请参阅音频信号处理模式。 SW 回退仅适用于 HOST 引脚。

已创建流且硬件中没有可用的资源时,会触发 SW 回退。 OS 会直接查询驱动程序以获取可用资源,以确定是否需要 SW 回退。 OS 使用驱动程序的知识(例如驱动程序支持多少个引脚实例)来确定是否存在足够的 HW 资源。 如果 HW 资源不可用,则使用 SW 回退在 RAW 引脚上创建流。 SW 回退进程由 OS 管理,在发生 SW 回退时不需要驱动程序的输入。 驱动程序无需返回任何其他特定错误代码即可使用 SWFallback。

如果指定了音频约束,OS 将对这些约束执行额外的检查。 有关详细信息,请参阅音频硬件资源管理

驱动程序需要在其 FxPropertyStore 中具有受支持的回退模式。 在 PKEY_APO_SWFallback_ProcessingModes(即 {D3993A3F-99C2-4402-B5EC-A92A0367664B},13)下,需要将 SWFallback 的任何 AUDIO_SIGNALPROCESSINGMODEs 添加到驱动程序的 FxPropertyStore。 这样,即可将它们识别为要进行 SWFallback。

PKEY_APO_SWFallback_ProcessingModes 定义

PKEY_APO_SWFallback_ProcessingModes 的定义如下所示。

PKEY_APO_SWFallback_ProcessingModes (REG_MULTI_SZ) = {D3993A3F-99C2-4402-B5EC-A92A0367664B},13 

INF 文件示例

INF 文件属性键列出了主机连接器支持的信号处理模式,没有足够的 HW 资源可用时,这些模式可用于回退到 SW APO。

INF 文件指定该设备的 add-registry 部分中的设置。 以下 INF 示例显示了将 APO SW 回退处理模式加载到注册表中的字符串和 add-registry 部分。 在此示例中,实现了四种模式:原始、默认、电影和通信。

[Strings]
PKEY_APO_SWFallback_ProcessingModes  = "{D3993A3F-99C2-4402-B5EC-A92A0367664B},13"
...
AUDIO_SIGNALPROCESSINGMODE_DEFAULT = "{C18E2F7E-933D-4965-B7D1-1EEF228D2AF3}"
AUDIO_SIGNALPROCESSINGMODE_MOVIE   = "{B26FEB0D-EC94-477C-9494-D1AB8E753F6E}"
AUDIO_SIGNALPROCESSINGMODE_COMMUNICATIONS = "{98951333-B9CD-48B1-A0A3-FF40682D73F7}"
...
[PKEY.APO.SWFallback.AddReg]
;Include all supported modes:
HKR,"FX\\0",%PKEY_APO_SWFallback_ProcessingModes%,%REG_MULTI_SZ%,%AUDIO_SIGNALPROCESSINGMODE_DEFAULT%,%AUDIO_SIGNALPROCESSINGMODE_MOVIE%,%AUDIO_SIGNALPROCESSINGMODE_COMMUNICATIONS%

Media-Class INF 扩展