The ACMDM_HARDWARE_WAVE_CAPS_OUTPUT message requests an ACM driver to return hardware capabilities for a waveform output device.
The driver should return MMSYSERR_NOERROR if the operation succeeds. Otherwise it should return one of the MMSYSERR error codes defined in Mmsystem.h, or one of the ACMERR error codes defined in Msacm.h. If the driver does not support waveform hardware, it should return MMSYSERR_NOTSUPPORTED.
The ACM (WAVEAPI.DLL) sends the ACMDM_HARDWARE_WAVE_CAPS_OUTPUT message by calling the ACM driver's ACM_IOControl() entry point via DeviceIoControl(), each time a client calls the acmMetrics function with the ACM_METRIC_HARDWARE_WAVE_OUTPUT index argument. (The acmMetrics function is described in the Win32 SDK.)
The driver receives the address of a WAVEOUTCAPS structure. The driver must fill in the structure.
Only ACM drivers that provide access to waveform output hardware need to support this message. If your driver supports the message, it must return ACMDRIVERDETAILS_SUPPORTF_HARDWARE in the ACMDRIVERDETAILS structure provided with the ACMDM_DRIVER_DETAILS message. For more information, see Providing ACM Support in Device Drivers in the Windows NT DDK.