|This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.|
This message requests an ACM driver to perform a conversion operation on a specified conversion stream.
MMSYSERR_NOERROR indicates success. Otherwise, the driver returns one of the MMSYSERR error values declared in the Mmsystem.h header file or one of the ACMERR error values declared in the Msacm.h header file.
The ACM (Waveapi.dll) sends this message by calling the ACM driver's ACM_IOControlentry point through the DeviceIoControlfunction. The ACM sends this message when an application calls the acmStreamConvertfunction.
All ACM drivers that provide stream conversions must support this message. For more information about stream conversions, see the Windows NT DDK.
The ACMDRVSTREAMINSTANCEstructure received with this message is the same structure received with a previous ACMDM_STREAM_OPEN message. The driver does not need to validate the structure's contents again.
ACMDRVSTREAMHEADERidentifies the source and destination data buffers. The source buffer contains the data to be converted. The driver places converted data into the destination buffer.
The driver must check the flags in the fdwConvertmember of ACMDRVSTREAMHEADER. These flags indicate how converted data should be returned.
Because stream conversions are time-critical operations, ACMDM_STREAM_CONVERT messages must be processed efficiently. The driver should perform as much processing as possible in response to the ACMDM_STREAM_OPEN message.
If the driver supports asynchronous operations and the client has specified the ACM_STREAMOPENF_ASYNC flag, which is contained in the fdwOpenmember of ACMDRVSTREAMINSTANCE, the driver must take the following actions when it has finished converting the data in the source buffer:
Along with the padshNextmember of ACMDRVSTREAMHEADER, asynchronous drivers can use the ACMSTREAMHEADER_STATUSF_INQUEUE flag of the structure to maintain a conversion queue of stream header structures.
Before calling the driver's ACM_IOControlfunction, the ACM should verify the following conditions:
|Runs on||Versions||Defined in||Include||Link to|
|Windows CE OS||1.0 and later|
Note This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.
Last updated on Tuesday, July 13, 2004