The WAVEOUTCAPS structure describes the capabilities of a waveform output device.
typedef struct waveoutcaps_tag {
UINT wMid;
UINT wPid;
VERSION vDriverVersion;
char szPname[MAXPNAMELEN];
DWORD dwFormats;
UINT wChannels;
DWORD dwSupport;
} WAVEOUTCAPS;
The WAVEOUTCAPS structure has the following fields:
wMid
Specifies a manufacturer ID for the device driver for the waveform output device. Manufacturer IDs are defined in the Multimedia Programmer's Reference in the Microsoft Windows Software Development Kit.
wPid
Specifies a product ID for the waveform output device. Product IDs are defined in the Multimedia Programmer's Reference in the Microsoft Windows Software Development Kit.
vDriverVersion
Specifies the version number of the device driver for the waveform output device. The high-order byte is the major version number, and the low-order byte is the minor version number. The numbering is up to the driver developer but should be changed with each driver release.
szPname[MAXPNAMELEN]
Specifies the product name in a NULL-terminated string.
dwFormats
Specifies which standard formats are supported. The supported formats are specified with a logical OR of the following flags:
WAVE_FORMAT_1M08
11.025 kHz, Mono, 8-bit
WAVE_FORMAT_1S08
11.025 kHz, Stereo, 8-bit
WAVE_FORMAT_1M16
11.025 kHz, Mono, 16-bit
WAVE_FORMAT_1S16
11.025 kHz, Stereo, 16-bit
WAVE_FORMAT_2M08
22.05 kHz, Mono, 8-bit
WAVE_FORMAT_2S08
22.05 kHz, Stereo, 8-bit
WAVE_FORMAT_2M16
22.05 kHz, Mono, 16-bit
WAVE_FORMAT_2S16
22.05 kHz, Stereo, 16-bit
WAVE_FORMAT_4M08
44.1 kHz, Mono, 8-bit
WAVE_FORMAT_4S08
44.1 kHz, Stereo, 8-bit
WAVE_FORMAT_4M16
44.1 kHz, Mono, 16-bit
WAVE_FORMAT_4S16
44.1 kHz, Stereo, 16-bit
wChannels
Specifies whether the device supports mono (1) or stereo (2) output.
dwSupport
Specifies optional functionality supported by the device.
WAVECAPS_PITCH
Supports pitch control.
WAVECAPS_PLAYBACKRATE
Supports playback rate control.
WAVECAPS_VOLUME
Supports volume control.
WAVECAPS_LRVOLUME
Supports separate left and right volume control.
Drivers can support other formats in addition to those specified in the dwFormats field. If a device supports volume changes, the WAVECAPS_VOLUME flag will be set for the dwSupport field. 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 field.
waveOutGetDevCaps