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 中具有受支持的回退模式。 在 {D3993A3F-99C2-4402-B5EC-A92A0367664B},PKEY_APO_SWFallback_ProcessingModes下,需要将 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 文件属性键列出了主机连接器支持的信号处理模式,这些模式可用于回退到 SW APO(如果没有足够的 HW 资源)。

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

[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 扩展