WIDM_UNPREPARE

The WIDM_UNPREPARE message requests a waveform input driver to remove the buffer preparation that was performed in response to a WIDM_PREPARE message.

Parameters

uDeviceId

Device identifier (0, 1, 2, and so on) for the target device.

uMsg

WIDM_UNPREPARE

dwUser

Device instance identifier.

dwParam1

Pointer to a WAVEHDR structure identifying the data buffer. (The WAVEHDR structure is described in the Win32 SDK.)

dwParam2

Size, in bytes, of the WAVEHDR structure.

Return Value

The driver should return MMSYSERR_NOERROR if the operation succeeds. Otherwise it should return one of the MMSYSERR or WAVERR error codes defined in mmsystem.h. See waveInUnprepareHeader return values in the Win32 SDK.

Comments

A client sends the WIDM_UNPREPARE message by calling the user-mode driver’s widMessage entry point, passing the specified parameters.

Support for this message by user-mode drivers is optional. If the driver supports WIDM_PREPARE, it must also support WIDM_UNPREPARE.

If the driver returns MMSYSERR_NOTSUPPORTED, winmm.dll removes the buffer preparation. For most drivers, this behavior is sufficient. If the driver does support WIDM_UNPREPARE, it must clear WHDR_PREPARED in the dwFlags member of WAVEHDR and return MMSYSERR_NOERROR.

For additional information, see Transferring Waveform Input Data.