ACMDM_STREAM_PREPARE

This message requests an ACM driver to prepare the buffers associated with an ACMDRVSTREAMHEADER structure.

Parameters

  • dwDriverID
    Specifies a driver instance identifier. The driver returns this value in response to the ACM_Open function.
  • hDriver
    Handle to a driver.
  • uMsg
    Specifies this message.
  • lParam1
    Pointer to an ACMDRVSTREAMINSTANCE structure.
  • lParam2
    Pointer to an ACMDRVSTREAMHEADER structure.

Return Values

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 acmStreamPrepareHeader.

Support for this message is optional. However, if a driver supports this message, it must support ACMDM_STREAM_UNPREPARE.

If the driver returns MMSYSERR_NOTSUPPORTED, the ACM prepares the buffers for use. For most drivers, this behavior is sufficient. If the driver performs buffer preparation, it should return MMSYSERR_NOERROR. In either case, the ACM sets ACMSTREAMHEADER_STATUSF_PREPARED in the fdwStatus member of ACMDRVSTREAMHEADER. The driver never modifies this flag. If you want both your driver and the ACM to perform buffer preparation operations, the driver should return MMSYSERR_NOTSUPPORTED after performing its preparation activity. The ACM can then perform its preparation operation.

Before calling the driver's ACM_IOControl function, the ACM verifies the following conditions:

  • ACMDRVSTREAMHEADER is readable and writable.
  • The cbStruct member of ACMDRVSTREAMHEADER contains a size value that is at least as large as the structure's defined size.
  • The specified buffers have not already been prepared.

For more information about the use of this message, see the Windows NT DDK.

Requirements

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

© 1992-2000 Microsoft Corporation. All rights reserved.