WAVEOUTCAPS

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;

Fields

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.

Comments

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.

See Also

waveOutGetDevCaps