acmStreamSize 函数 (msacm.h)

acmStreamSize 函数返回 ACM 流上源缓冲区或目标缓冲区的建议大小。

语法

MMRESULT ACMAPI acmStreamSize(
  HACMSTREAM has,
  DWORD      cbInput,
  LPDWORD    pdwOutputBytes,
  DWORD      fdwSize
);

参数

has

转换流的句柄。

cbInput

源或目标缓冲区的大小(以字节为单位)。 fdwSize 标志指定输入参数定义的内容。 此参数必须为非零值。

pdwOutputBytes

指向变量的指针,该变量包含源或目标缓冲区的大小(以字节为单位)。 fdwSize 标志指定输出参数定义的内容。 如果 acmStreamSize 函数成功,则始终使用非零值填充此位置。

fdwSize

流大小查询的标志。 定义了以下值:

含义
ACM_STREAMSIZEF_DESTINATION cbInput 参数包含目标缓冲区的大小。 pdwOutputBytes 参数将接收建议的源缓冲区大小(以字节为单位)。
ACM_STREAMSIZEF_SOURCE cbInput 参数包含源缓冲区的大小。 pdwOutputBytes 参数将接收建议的目标缓冲区大小(以字节为单位)。

返回值

如果成功,则返回零,否则返回错误。 可能的错误值包括以下内容。

返回代码 说明
ACMERR_NOTPOSSIBLE
无法执行请求的操作。
MMSYSERR_INVALFLAG
至少有一个标志无效。
MMSYSERR_INVALHANDLE
指定的句柄无效。
MMSYSERR_INVALPARAM
至少有一个参数无效。

注解

应用程序可以使用此函数来确定源缓冲区或目标缓冲区的建议缓冲区大小。 返回的缓冲区大小可能只是转换所需的实际大小的估计值。 由于如果不执行转换,则无法始终确定实际转换大小,因此返回的大小通常会被高估。

发生错误时, pdwOutputBytes 指向的位置将收到零。 这假定 pdwOutputBytes 指定的指针有效。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 msacm.h
Library Msacm32.lib
DLL Msacm32.dll

另请参阅

音频压缩函数

音频压缩管理器