ACMSTREAMHEADER 结构 (msacm.h)
ACMSTREAMHEADER 结构定义用于标识转换流的 ACM 转换源和目标缓冲区对的标头。
语法
typedef struct tACMSTREAMHEADER {
DWORD cbStruct;
DWORD fdwStatus;
DWORD_PTR dwUser;
LPBYTE pbSrc;
DWORD cbSrcLength;
DWORD cbSrcLengthUsed;
DWORD_PTR dwSrcUser;
LPBYTE pbDst;
DWORD cbDstLength;
DWORD cbDstLengthUsed;
DWORD_PTR dwDstUser;
DWORD dwReservedDriver[_DRVRESERVED];
} ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER;
成员
cbStruct
ACMSTREAMHEADER 结构的大小(以字节为单位)。 在应用程序使用此结构调用任何 ACM 流函数之前,必须初始化此成员。 此成员中指定的大小必须足够大,才能包含基本 ACMSTREAMHEADER 结构。
fdwStatus
提供有关转换缓冲区信息的标志。 在应用程序调用 acmStreamPrepareHeader 函数之前,必须将此成员初始化为零,并且当流标头保持就绪状态时,应用程序不应对其进行修改。
名称 | 说明 |
---|---|
|
由 ACM 或驱动程序设置,以指示它已完成转换并将缓冲区返回到应用程序。 |
|
由 ACM 或驱动程序设置以指示缓冲区已排队等待转换。 |
|
由 ACM 设置以指示已使用 acmStreamPrepareHeader 函数准备缓冲区。 |
dwUser
用户数据。 这可以是应用程序指定的任何实例数据。
pbSrc
指向源缓冲区的指针。 当流标头保持就绪状态时,此指针必须始终引用同一位置。 如果应用程序需要更改源位置,则必须取消准备标头并使用备用位置对其进行准备。
cbSrcLength
pbSrc 指向的源缓冲区的长度(以字节为单位)。 准备标头后,此成员必须指定将在源缓冲区中使用的最大大小。 可以对小于或等于原始准备大小的源长度执行转换。 但是,当应用程序取消准备标头时,必须将此成员重置为原始大小。
cbSrcLengthUsed
用于转换的数据量(以字节为单位)。 在转换完成之前,此成员无效。 此值可以小于或等于 cbSrcLength。 应用程序在前进到转换流的下一段源数据时,必须使用 cbSrcLengthUsed 成员。
dwSrcUser
用户数据。 这可以是应用程序指定的任何实例数据。
pbDst
指向目标缓冲区的指针。 当流标头保持就绪状态时,此指针必须始终引用同一位置。 如果应用程序需要更改目标位置,则必须取消准备标头并使用备用位置对其进行准备。
cbDstLength
pbDst 指向的目标缓冲区的长度(以字节为单位)。 准备标头后,此成员必须指定将在目标缓冲区中使用的最大大小。
cbDstLengthUsed
转换返回的数据量(以字节为单位)。 在转换完成之前,此成员无效。 此值可以小于或等于 cbDstLength。 应用程序在前进到转换流的下一个目标位置时必须使用 cbDstLengthUsed 成员。
dwDstUser
用户数据。 这可以是应用程序指定的任何实例数据。
dwReservedDriver[_DRVRESERVED]
保留值;请勿使用。 此成员不需要应用程序进行初始化,并且不应在标头保持就绪状态时进行修改。
注解
在 ACMSTREAMHEADER 结构可用于转换之前,必须使用 acmStreamPrepareHeader 函数对其进行准备。 当应用程序使用 ACMSTREAMHEADER 结构完成时,它必须在释放源缓冲区和目标缓冲区之前调用 acmStreamUnprepareHeader 函数。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | msacm.h |
另请参阅
音频压缩管理器