See also MODM_GETDEVCAPS
typedef struct midioutcaps_tag { UINT wMid; UINT wPid; VERSION vDriverVersion; char szPname[MAXPNAMELEN]; UINT wTechnology; UINT wVoices; UINT wNotes; UINT wChannelMask; DWORD dwSupport; } MIDIOUTCAPS;
Describes the capabilities of a MIDI output device.
wMid
Specifies a manufacturer ID for the device driver for the MIDI 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 MIDI 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 MIDI 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.
wTechnology
Describes the type of the MIDI output device according to one of the following flags:
MOD_MIDIPORT | Indicates the device is a MIDI hardware port. |
MOD_SQSYNTH | Indicates the device is a square wave synthesizer. |
MOD_FMSYNTH | Indicates the device is an FM synthesizer. |
MOD_MAPPER | Indicates the device is the Microsoft MIDI Mapper. |
wVoices
Specifies the number of voices supported by an internal synthesizer device. If the device is a port, the field is not meaningful and should be set to 0.
wNotes
Specifies the maximum number of simultaneous notes that can be played by an internal synthesizer device. If the device is a port, the field should be set to 0.
wChannelMask
Specifies the 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 transmit on all channels and should set this field to 0xFFFF.
dwSupport
Specifies optional functionality supported by the device.
MIDICAPS_CACHE | Supports patch caching. |
MIDICAPS_VOLUME | Supports volume control. |
MIDICAPS_LRVOLUME | Supports separate left and right volume control. |
MIDICAPS_STREAM | |
Supports MIDI streams natively. |
If a device supports volume changes, the MIDICAPS_VOLUME flag should be set for the dwSupport field. If a device supports separate volume changes on the left and right channels, both the MIDICAPS_VOLUME and the MIDICAPS_LRVOLUME flags should be set for this field.