WIDM_CLOSE

This message is used in an MMDRV_MESSAGE_PARAMS structure passed to the WAV_IOControl function to request a waveform input driver to close a specified device instance previously opened with WIDM_OPEN.

Parameters

uDeviceId
Device identifier—0, 1, 2, and so on—for the target device.
uMsg
Specifies this message.
dwUser
Specifies a device instance identifier.
dwParam1
Not used.
dwParam2
Not used.

Return Values

MMSYSERR_NOERROR indicates success. Otherwise, the driver returns one of the MMSYSERR or WAVERR error values declared in the Mmsystem.h header file.

Remarks

The ACM (Waveapi.dll) sends the WIDM_CLOSE message by calling the audio driver’s (Wavedev.dll) WAV_IOControl entry point through the DeviceIoControl function.

If the driver has not filled and returned all the buffers received with WIDM_ADDBUFFER messages, it does not close the instance. Instead, it returns WAVERR_STILLPLAYING.

After the driver closes the device instance, it sends a WIM_CLOSE callback message to the ACM.