KSDATARANGE_MUSIC structure (ksmedia.h)
The KSDATARANGE_MUSIC structure specifies a range of DirectMusic MIDI formats.
Syntax
typedef struct {
KSDATARANGE DataRange;
GUID Technology;
ULONG Channels;
ULONG Notes;
ULONG ChannelMask;
} KSDATARANGE_MUSIC, *PKSDATARANGE_MUSIC;
Members
DataRange
Specifies the MajorFormat and SubFormat GUIDs as well as the Specifier GUID for the DirectMusic data. This member is an initialized KSDATARANGE structure.
Technology
Specifies the type of MIDI output device. This member can be one of the following GUIDs:
KSMUSIC_TECHNOLOGY_PORT
The device is a MIDI hardware port.
KSMUSIC_TECHNOLOGY_SYNTH
The device is a synthesizer.
KSMUSIC_TECHNOLOGY_SQSYNTH
The device is a square-wave synthesizer.
KSMUSIC_TECHNOLOGY_FMSYNTH
The device is an FM synthesizer.
KSMUSIC_TECHNOLOGY_MAPPER
The device is the Microsoft MIDI mapper.
KSMUSIC_TECHNOLOGY_WAVETABLE
The device is a hardware wavetable synthesizer.
KSMUSIC_TECHNOLOGY_SWSYNTH
The device is a software synthesizer.
Channels
Specifies the maximum number of simultaneous channels that can be played by an internal synthesizer device. If the device is a port, this member is not meaningful and is set to zero.
Notes
Specifies the 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 zero.
ChannelMask
Specifies which channels 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.
Remarks
For examples of data ranges that use the KSDATARANGE_MUSIC structure, see MIDI Stream Data Range and DirectMusic Stream Data Range.
For information about data ranges and intersection handling, see Data-Intersection Handlers.
Requirements
Requirement | Value |
---|---|
Header | ksmedia.h (include Ksmedia.h) |