MIDIOUTCAPS (winmm)
Last changed: -64.140.239.91

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

C# Signature:

    [StructLayout(LayoutKind.Sequential)]
    struct MIDIOUTCAPS
    {
    public ushort wMid;
    public ushort wPid;
    public uint vDriverVersion;     //MMVERSION
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst= 32)]
    public string szPname;
    public ushort wTechnology;
    public ushort wVoices;
    public ushort wNotes;
    public ushort wChannelMask;
    public uint dwSupport;
    }

    // values for wTechnology field of MIDIOUTCAPS structure
    private const ushort MOD_MIDIPORT = 1;     // output port
    private const ushort MOD_SYNTH = 2;        // generic internal synth
    private const ushort MOD_SQSYNTH = 3;      // square wave internal synth
    private const ushort MOD_FMSYNTH = 4;      // FM internal synth
    private const ushort MOD_MAPPER = 5;       // MIDI mapper
    private const ushort MOD_WAVETABLE = 6;    // hardware wavetable synth
    private const ushort MOD_SWSYNTH = 7;      // software synth

    // flags for dwSupport field of MIDIOUTCAPS structure
    private const uint MIDICAPS_VOLUME = 1;      // supports volume control
    private const uint MIDICAPS_LRVOLUME = 2;    // separate left-right volume control
    private const uint MIDICAPS_CACHE = 4;
    private const uint MIDICAPS_STREAM = 8;      // driver supports midiStreamOut directly

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

This is sample Code

MidiOutCaps outCaps = new MidiOutCaps();

int result = midiOutGetDevCaps(deviceID, ref outCaps, Marshal.SizeOf(outCaps));

Documentation
MIDIOUTCAPS on MSDN