The acmStreamPrepareHeader function prepares an ACMSTREAMHEADER structure for an ACM stream conversion. This function must be called for every stream header before it can be used in a conversion stream. An application needs to prepare a stream header only once for the life of a given stream. The stream header can be reused as long as the sizes of the source and destination buffers do not exceed the sizes used when the stream header was originally prepared.

MMRESULT acmStreamPrepareHeader(
  HACMSTREAM has,          
  DWORD fdwPrepare         



Handle to the conversion steam.


Pointer to an ACMSTREAMHEADER structure that identifies the source and destination buffers to be prepared.


Reserved; must be zero.

Return Values

Returns zero if successful or an error otherwise. Possible error values include the following.

Value Description
MMSYSERR_INVALFLAG At least one flag is invalid.
MMSYSERR_INVALHANDLE The specified handle is invalid.
MMSYSERR_INVALPARAM At least one parameter is invalid.
MMSYSERR_NOMEM The system is unable to allocate resources.


Preparing a stream header that has already been prepared has no effect, and the function returns zero. Nevertheless, you should ensure your application does not prepare a stream header multiple times.


  Windows NT/2000/XP: Included in Windows NT 3.1 and later.
  Windows 95/98/Me: Included in Windows 95 and later.
  Header: Declared in Msacm.h.
  Library: Use Msacm32.lib.

See Also

Audio Compression Manager, Audio Compression Functions, ACMSTREAMHEADER