This message requests an ACM driver to return the size required for a source or destination buffer with a specified destination or source buffer size, along with source and destination format descriptions.
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 the ACMDM_STREAM_SIZE message by calling the ACM driver’s ACM_IOControl entry point through the DeviceIoControl function. The ACM sends this message when an application calls the acmStreamSize function.
All ACM drivers that provide stream conversions must support this message. For more information about stream conversions, see the Windows NT DDK.
Based on the input parameters, the driver must return the following information:
The ACMDRVSTREAMINSTANCE structure received with this message is the same structure that was received with a previous ACMDM_STREAM_OPEN message. The driver does not need to validate the structure’s contents again.
The driver examines ACMDRVSTREAMSIZE to determine which buffer, source, or destination the client has supplied. ACMDRVSTREAMINSTANCE contains structures that describe the source and destination formats and possibly a filter specification. The driver uses this information to determine the size of the requested buffer.
If the driver returns a buffer length of 0, the ACM provides an error return value of ACMERR_NOTPOSSIBLE to acmStreamSize.