Entwickler-Ecke

Sonstiges (.NET) - midiInGetNumDevs() liefert falschen Wert


ebber - Mo 01.04.13 00:32
Titel: midiInGetNumDevs() liefert falschen Wert
Hallo,

ich habe ein etwas komisches Problem. Ich versuche die Anzahl der angeschlossenen Midi Geräte zu kriegen.

Das ist der Code dazu:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
        // http://msdn.microsoft.com/en-us/library/ms711608(VS.85).aspx
        [DllImport("winmm.dll", SetLastError = true)]
        public static extern UInt32 midiInGetNumDevs();

        private void Button_Click_5(object sender, RoutedEventArgs e)
        {
            Title = midiInGetNumDevs().ToString();
        }


Beispiel:
Gerät nicht angeschlossen: ich bekomme 0 => ok
Gerät einstecken (USB): ich bekomme 1 => ok
Gerät rausziehen: manchmal springts auf 0 zurück, aber fast immer bleibt es auf 1 => !?!?
Mein Programm neustarten: dann bekomme ich immer die richtige 0 => !?!?

Ich kenne mich mit den win apis nicht so aus. Macht das irgendeinen Sinn?

MfG