IMiniportAudioSignalProcessing::GetModes 方法 (portcls.h)
GetModes 方法检索音频引脚支持的音频信号处理模式。
语法
NTSTATUS GetModes(
[in] ULONG Pin,
[out, optional] GUID *SignalProcessingModes,
[in, out] ULONG *NumSignalProcessingModes
);
参数
[in] Pin
音频引脚的索引。
[out, optional] SignalProcessingModes
此参数是可选的。 它返回一个 GUID 数组,用于标识 Pin 参数支持的信号处理模式。
[in, out] NumSignalProcessingModes
用作输入时,它指定可写入 SignalProcessingModes 中指定的缓冲区的元素数。 用作输出时,它将返回写入缓冲区的元素数。
返回值
如果调用成功,GetModes 将返回STATUS_SUCCESS。 否则,该方法将返回相应的错误代码。
注解
如果 SignalProcessingModes 为 NULL,则 GetModes 会将支持的模式数写入 NumSignalProcessingModes 并返回STATUS_SUCCESS。 这允许调用方查询支持的模式数,以便分配缓冲区。
如果 SignalProcessingModes 不为 NULL,则 GetModes 将验证 NumSignalProcessingModes 是否大于或等于支持的模式数。 如果是,则 该方法会将支持的模式写入 SignalProcessingModes 缓冲区,将支持的实际模式数写入 NumSignalProcessingModes,并返回STATUS_SUCCESS。
下表显示并解释了 GetModes 可返回的错误消息。
错误代码 | 说明 |
---|---|
STATUS_BUFFER_TOO_SMALL | 为 NumSignalProcessingModes 预留的缓冲区太小。 |
STATUS_INVALID_PARAMETER | Pin 参数的值指示固定 ID >= 筛选器上的引脚工厂数。 引脚索引从零开始,因此对于筛选器上的 n 个引脚工厂,最高索引值应为 n-1。 |
STATUS_NOT_SUPPORTED | 为不支持信号处理模式的引脚指定了 Pin ID。 例如,如果 Pin ID 引用音频环回引脚或网桥引脚,则 GetModes 将返回此错误代码。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8.1 |
最低受支持的服务器 | Windows Server 2012 R2 |
目标平台 | 通用 |
标头 | portcls.h |