The WAVEOUTCAPS structure describes the capabilities of a waveform-audio output device.

typedef struct { 
    WORD      wMid; 
    WORD      wPid; 
    MMVERSION vDriverVersion; 
    TCHAR     szPname[MAXPNAMELEN]; 
    DWORD     dwFormats; 
    WORD      wChannels; 
    WORD      wReserved1; 
    DWORD     dwSupport; 



Manufacturer identifier for the device driver for the device. Manufacturer identifiers are defined in Manufacturer and Product Identifiers.


Product identifier for the device. Product identifiers are defined in Manufacturer and Product Identifiers.


Version number of the device driver for the device. The high-order byte is the major version number, and the low-order byte is the minor version number.


Product name in a null-terminated string.


Standard formats that are supported. Can be a combination of the following:

Format Description
WAVE_FORMAT_1M08 11.025 kHz, mono, 8-bit
WAVE_FORMAT_1M16 11.025 kHz, mono, 16-bit
WAVE_FORMAT_1S08 11.025 kHz, stereo, 8-bit
WAVE_FORMAT_1S16 11.025 kHz, stereo, 16-bit
WAVE_FORMAT_2M08 22.05 kHz, mono, 8-bit
WAVE_FORMAT_2M16 22.05 kHz, mono, 16-bit
WAVE_FORMAT_2S08 22.05 kHz, stereo, 8-bit
WAVE_FORMAT_2S16 22.05 kHz, stereo, 16-bit
WAVE_FORMAT_4M08 44.1 kHz, mono, 8-bit
WAVE_FORMAT_4M16 44.1 kHz, mono, 16-bit
WAVE_FORMAT_4S08 44.1 kHz, stereo, 8-bit
WAVE_FORMAT_4S16 44.1 kHz, stereo, 16-bit
WAVE_FORMAT_48M08 48 kHz, mono, 8-bit
WAVE_FORMAT_48S08 48 kHz, stereo, 8-bi
WAVE_FORMAT_48M16 48 kHz, mono, 16-bit
WAVE_FORMAT_48S16 48 kHz, stereo, 16-bit
WAVE_FORMAT_96M08 96 kHz, mono, 8-bit
WAVE_FORMAT_96S08 96 kHz, stereo, 8-bit
WAVE_FORMAT_96M16 96 kHz, mono, 16-bit
WAVE_FORMAT_96S16 96 kHz, stereo, 16-bit


Number specifying whether the device supports mono (1) or stereo (2) output.




Optional functionality supported by the device. The following values are defined:

Flag Description
WAVECAPS_LRVOLUME Supports separate left and right volume control.
WAVECAPS_PITCH Supports pitch control.
WAVECAPS_PLAYBACKRATE Supports playback rate control.
WAVECAPS_SYNC The driver is synchronous and will block while playing a buffer.
WAVECAPS_VOLUME Supports volume control.
WAVECAPS_SAMPLEACCURATE Returns sample-accurate position information.


If a device supports volume changes, the WAVECAPS_VOLUME flag will be set for the dwSupport member. If a device supports separate volume changes on the left and right channels, both the WAVECAPS_VOLUME and the WAVECAPS_LRVOLUME flags will be set for this member.


**  Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
**  Windows 95/98/Me:** Included in Windows 95 and later.
**  Header:** Declared in Mmsystem.h; include Windows.h.
**  Unicode:** Declared as Unicode and ANSI structures.

See Also

Waveform Audio, Waveform Structures