The ACMDM_STREAM_CLOSE message requests an ACM driver to close a conversion stream that was opened with an ACMDM_STREAM_OPEN message.
The driver should return MMSYSERR_NOERROR if the operation succeeds. Otherwise it should return one of the MMSYSERR error codes defined in Mmsystem.h, or one of the ACMERR error codes defined in Msacm.h. An asynchronous driver might have to return ACMERR_BUSY if a conversion operation has not completed.
The ACM (WAVEAPI.DLL) sends the ACMDM_STREAM_CLOSE message by calling the ACM driver's ACM_IOControl() entry point via DeviceIoControl(). The ACM sends this message when an application calls the acmStreamClose function, which is described in the Win32 SDK.
All ACM drivers that provide stream conversions must support this message. For more information about stream conversions, see Converting Data Streams in the Windows NT DDK.
If the driver supports asynchronous operations, and if the client has specified the ACM_STREAMOPENF_ASYNC flag ( contained in the ACMDRVSTREAMINSTANCE structure's fdwOpen member), then the driver should send the client an MM_ACM_CLOSE callback message, by calling the PostThreadMessage function, after the operation completes.