acmStreamUnprepareHeader  1G3WWDN 

The acmStreamUnprepareHeader function cleans up the preparation performed by the acmStreamPrepareHeaderJYX_5I 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

 

   );

 

 

Parameters

has

Handle of the conversion steam.

pash

Address of an ACMSTREAMHEADER4E_9SC structure that identifies the source and destination buffers to be unprepared.

fdwUnprepare

Reserved; must be zero.

 

Return Values

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

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 acmStreamPrepareHeaderJYX_5I function.

MMSYSERR_INVALFLAG

At least one flag is invalid.

MMSYSERR_INVALHANDLE

The specified handle is invalid.

MMSYSERR_INVALPARAM

At least one parameter is invalid.

 

Remarks

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.

See Also

acmStreamPrepareHeader, ACMSTREAMHEADER