ACMDM_STREAM_UNPREPARE

lParam1 = (LPARAM) pacmDSI  // see below
lParam2 = (LPARAM) pacmDSH  // see below
 

Sent to an Audio Compression Manager (ACM) driver to allow the driver to optionally unprepare an ACMDRVSTREAMHEADER structure and corresponding data blocks used for conversions. This message is usually sent to an ACM driver in response to an acmStreamUnprepareHeader call.

MMSYSERR_NOTENABLED The driver failed to load or initialize.
MMSYSERR_NOTSUPPORTED The driver does not support this message.

lParam1
Address of the ACMDRVSTREAMINSTANCE structure for the conversion stream that the prepare request is for.
lParam2
Address of the ACMDRVSTREAMHEADER structure identifying the source and destination data blocks that should be unprepared.

An ACM driver must support the ACMDM_STREAM_UNPREPARE message if it supports the ACMDM_STREAM_PREPARE message.

The default response for the ACMDM_STREAM_UNPREPARE message is to return MMSYSERR_NOTSUPPORTED. In this case, the ACM will mark the stream header as being unprepared (clears the ACMSTREAMHEADER_STATUSF_PREPARED flag in the fdwStatus member of the ACMDRVSTREAMHEADER structure).

If a driver requires other cleanup operations to unprepare the header and data blocks used for conversions, it should perform these operations and return MMSYSERR_NOERROR. The ACM will then mark the stream header as being unprepared (a driver should never modify the ACMSTREAMHEADER_STATUSF_PREPARED flag in the fdwStatus member of the ACMDRVSTREAMHEADER structure).

The ACM will always send the ACMDM_STREAM_PREPARE and ACMDM_STREAM_UNPREPARE messages to a driver even if the driver returns MMSYSERR_NOTSUPPORTED. This allows a driver to optionally perform minor preparations for the header and data buffers while still taking advantage of the default behavior performed by the ACM

Note that the following parameters for the ACMDM_STREAM_UNPREPARE message will be validated before calling the driver:

The driver does not need to check for these conditions.

See Also

ACMDM_STREAM_CLOSE, ACMDM_STREAM_CONVERT, ACMDM_STREAM_OPEN, ACMDM_STREAM_PREPARE, ACMDM_STREAM_RESET, ACMDM_STREAM_SIZE, ACMDRVOPENDESC, ACMDRVSTREAMHEADER, ACMDRVSTREAMINSTANCE, ACMDRVSTREAMSIZE