@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: The midiOutGetDevCaps function queries a specified MIDI output device to determine its capabilities. !!!!C# Signature: [DllImport("winmm.dll", SetLastError = true)] public static extern MMRESULT midiOutGetDevCaps(UIntPtr uDeviceID, ref MIDIOUTCAPS lpMidiOutCaps, uint cbMidiOutCaps); !!!!User-Defined Types: [MIDIOUTCAPS] [MMRESULT] !!!!Alternative Managed API: Do you know one? Please contribute it! !!!!Notes: None. !!!!Tips & Tricks: Use (uint)Marshal.SizeOf(typeof(MIDIOUTCAPS)) for cbMidiOutCaps. !!!!Sample Code: [DllImport("winmm.dll", SetLastError = true)] static extern uint midiOutGetNumDevs(); [DllImport("Winmm.dll")] static extern uint midiInGetNumDevs(); [StructLayout(LayoutKind.Sequential)] struct MIDIOUTCAPS { public ushort wMid; public ushort wPid; public uint vDriverVersion; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] public string szPname; public ushort wTechnology; public ushort wVoices; public ushort wNotes; public ushort wChannelMask; public uint dwSupport; } private void GetOutputDevices() { uint outDevs = midiOutGetNumDevs(); for (int x = 0; x < outDevs; x++) { MIDIOUTCAPS caps = new MIDIOUTCAPS(); midiOutGetDevCaps((UIntPtr) x, ref caps, (uint)Marshal.SizeOf(typeof(MIDIOUTCAPS))); //Do whatever you want with the caps object here MessageBox.Show(caps.szPname); } } Documentation: midiOutGetDevCaps@msdn on MSDN
Edit winmm.midiOutGetD...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.