The acmStreamUnprepareHeader function cleans up the preparation performed by the acmStreamPrepareHeader function for an ACM stream. This function must be called after the ACM is finished with the given buffers. An application must call this function before freeing the source and destination buffers.
MMRESULT acmStreamUnprepareHeader(
HACMSTREAM has,
LPACMSTREAMHEADER pash,
DWORD fdwUnprepare
);
Returns zero if successful or an error otherwise. Possible error values include the following:
Value | Description |
---|---|
ACMERR_BUSY | The stream header specified in pash is currently in use and cannot be unprepared. |
ACMERR_UNPREPARED | The stream header specified in pash is currently not prepared by the acmStreamPrepareHeader function. |
MMSYSERR_INVALFLAG | At least one flag is invalid. |
MMSYSERR_INVALHANDLE | The specified handle is invalid. |
MMSYSERR_INVALPARAM | At least one parameter is invalid. |
Unpreparing a stream header that has already been unprepared is an error. An application must specify the source and destination buffer lengths (cbSrcLength and cbDstLength, respectively) that were used during a call to the corresponding acmStreamPrepareHeader. Failing to reset these member values will cause acmStreamUnprepareHeader to fail with an MMSYSERR_INVALPARAM error.
The ACM can recover from some errors. The ACM will return a nonzero error, yet the stream header will be properly unprepared. To determine whether the stream header was actually unprepared, an application can examine the ACMSTREAMHEADER_STATUSF_PREPARED flag. If acmStreamUnprepareHeader returns success, the header will always be unprepared.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in msacm.h.
Import Library: Use msacm32.lib.
Audio Compression Manager Overview, Audio Compression Functions, acmStreamPrepareHeader, ACMSTREAMHEADER