acmStreamSize 函数 (msacm.h)

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

语法

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

参数

has

对转换流的句柄。

cbInput

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

pdwOutputBytes

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

fdwSize

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

Value 含义
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

另请参阅

音频压缩函数

音频压缩管理器