private static extern MMRESULT midiInUnprepareHeader(HMIDIIN hmi, IntPtr pmh, uint cbmh);
private static extern MMRESULT midiInAddBuffer(HMIDIIN hmi, IntPtr pmh, uint cbmh);
private static extern MMRESULT midiInOpen(out HMIDIIN lphMidiIn, uint uDeviceID, MidiInProc dwCallback, IntPtr dwInstance, MidiCallbackFlags dwFlags);
public static MMRESULT midiInUnprepareHeader(HMIDIIN hmi, IntPtr pmh) => midiInPrepareHeader(hmi, pmh, (uint)Marshal.SizeOf <MIDIHDR>());
public static extern MMRESULT midiInStop(HMIDIIN hMidiIn);
public static extern MMRESULT midiInReset(HMIDIIN hMidiIn);
public static MMRESULT midiInOpen(out HMIDIIN lphMidiIn, uint uDeviceID, MidiInProc dwCallback, IntPtr dwInstance) => midiInOpen(out lphMidiIn, uDeviceID, dwCallback, dwInstance, dwCallback == null ? MidiCallbackFlags.CALLBACK_NULL : MidiCallbackFlags.CALLBACK_FUNCTION);
public static extern MMRESULT midiInClose(HMIDIIN hMidiIn);