Share via


ACMDM_STREAM_SIZE (Windows Embedded CE 6.0)

1/6/2010

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.

Parameters

  • dwDeviceID
    Value that specifies a driver instance identifier. The driver returns this value in response to the ACM_Open (ACM Driver) function.
  • hDriver
    Handle to a driver.
  • uMsg
    Value that specifies this message.

Return Values

A return value of 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.

Remarks

The ACM (Waveapi.dll) sends this 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.

Based on the input parameter values, the driver must return the following information:

  • How large the destination buffer must be in order to hold all the converted data for a source buffer of a specified size.
  • The largest amount of source data that will not overflow such a destination buffer.

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 zero (0), the ACM provides an error return value of ACMERR_NOTPOSSIBLE to acmStreamSize.

Requirements

Header msacmdrv.h
Windows Embedded CE Windows CE 1.0 and later

See Also

Reference

ACM_Open (ACM Driver)
ACMDRVSTREAMINSTANCE
ACMDRVSTREAMSIZE
ACM_IOControl

Concepts

ACM Driver Messages