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 参数的值指示 >的 Pin ID = 筛选器上的引脚工厂数。 引脚索引从零开始,因此对于筛选器上的 n 个引脚工厂,最高索引值应为 n-1。 |
STATUS_NOT_SUPPORTED | 为不支持信号处理模式的引脚指定了 Pin ID。 例如,如果 Pin ID 引用音频环回引脚或网桥引脚,GetModes 将返回此错误代码。 |
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 8.1 |
支持的最低服务器 | Windows Server 2012 R2 |
目标平台 | 普遍 |
标头 | portcls.h |