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

另请参阅

IMiniportAudioSignalProcessing