MIDIOUTCAPSW structure (mmeapi.h)

The MIDIOUTCAPS structure describes the capabilities of a MIDI output device.

Syntax

typedef struct tagMIDIOUTCAPSW {
  WORD      wMid;
  WORD      wPid;
  MMVERSION vDriverVersion;
  WCHAR     szPname[MAXPNAMELEN];
  WORD      wTechnology;
  WORD      wVoices;
  WORD      wNotes;
  WORD      wChannelMask;
  DWORD     dwSupport;
} MIDIOUTCAPSW, *PMIDIOUTCAPSW, *NPMIDIOUTCAPSW, *LPMIDIOUTCAPSW;

Members

wMid

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

wPid

Product identifier of the MIDI output device. Product identifiers are defined in Manufacturer and Product Identifiers.

vDriverVersion

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

szPname[MAXPNAMELEN]

Product name in a null-terminated string.

wTechnology

Type of the MIDI output device. This value can be one of the following:

Name Description
MOD_MIDIPORT
MIDI hardware port.
MOD_SYNTH
Synthesizer.
MOD_SQSYNTH
Square wave synthesizer.
MOD_FMSYNTH
FM synthesizer.
MOD_MAPPER
Microsoft MIDI mapper.
MOD_WAVETABLE
Hardware wavetable synthesizer.
MOD_SWSYNTH
Software synthesizer.

wVoices

Number of voices supported by an internal synthesizer device. If the device is a port, this member is not meaningful and is set to 0.

wNotes

Maximum number of simultaneous notes that can be played by an internal synthesizer device. If the device is a port, this member is not meaningful and is set to 0.

wChannelMask

Channels that an internal synthesizer device responds to, where the least significant bit refers to channel 0 and the most significant bit to channel 15. Port devices that transmit on all channels set this member to 0xFFFF.

dwSupport

Optional functionality supported by the device. It can be one or more of the following:

Name Description
MIDICAPS_CACHE
Supports patch caching.
MIDICAPS_LRVOLUME
Supports separate left and right volume control.
MIDICAPS_STREAM
Provides direct support for the midiStreamOut function.
MIDICAPS_VOLUME
Supports volume control.
 

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

Remarks

Note

The mmeapi.h header defines MIDIOUTCAPS as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Header mmeapi.h (include Windows.h)

See also

MIDI Structures

Musical Instrument Digital Interface (MIDI)

midiStreamOut