IAudioClient2::GetBufferSizeLimits 方法 (audioclient.h)

GetBufferSizeLimits 方法以 100 纳秒为单位返回硬件音频引擎的缓冲区大小限制。

语法

HRESULT GetBufferSizeLimits(
  [in]  const WAVEFORMATEX *pFormat,
  [in]  BOOL               bEventDriven,
  [out] REFERENCE_TIME     *phnsMinBufferDuration,
  [out] REFERENCE_TIME     *phnsMaxBufferDuration
);

参数

[in] pFormat

指向要查询缓冲区大小限制的目标格式的指针。

[in] bEventDriven

指示流是否可以为事件驱动的布尔值。

[out] phnsMinBufferDuration

返回指向以 100 纳秒为单位 (最小缓冲区大小的指针,) 基础硬件音频引擎以 pFormat 参数中指定的格式运行所需的最小缓冲区大小,而不会频繁出现音频故障。

[out] phnsMaxBufferDuration

返回指向最大缓冲区大小 (的指针(以 100 纳秒为单位),) 基础硬件音频引擎可以支持 pFormat 参数中指定的格式。

返回值

GetBufferSizeLimits 方法返回S_OK指示它已成功完成。 否则,它将返回相应的错误代码。 例如,如果删除了设备并调用 了 方法,则它可以返回 AUDCLNT_E_DEVICE_INVALIDATED

注解

GetBufferSizeLimits 方法是面向设备的方法
和 不需要先进行音频流初始化。

要求

要求
最低受支持的客户端 Windows 8 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 [桌面应用 |UWP 应用]
目标平台 Windows
标头 audioclient.h

另请参阅

IAudioClient2