public static uint midiOutOpen(out IntPtr lphmo, int uDeviceID, MidiWinApi.MidiMessageCallback dwCallback, IntPtr dwInstance, uint dwFlags) { if (s_midiOutPort != null) { lphmo = new IntPtr(uDeviceID); return(MidiWinApi.MMSYSERR_NOERROR); } try { s_midiOutPort = MidiOutPort.FromIdAsync(GetDevices()[uDeviceID].Id).AsTask().Result; lphmo = new IntPtr(uDeviceID); if (s_midiOutPort == null) { return(MidiWinApi.MMSYSERR_ERROR); } } catch (Exception) { lphmo = new IntPtr(uDeviceID); return(MidiWinApi.MMSYSERR_ERROR); } return(MidiWinApi.MMSYSERR_NOERROR); }
private void EnsureHandleIsCreated() { if (_handle != IntPtr.Zero) { return; } _callback = OnMessage; ProcessMmResult(MidiOutWinApi.midiOutOpen(out _handle, Id, _callback, IntPtr.Zero, MidiWinApi.CallbackFunction)); }
public static extern uint midiInOpen(out IntPtr lphMidiIn, int uDeviceID, MidiWinApi.MidiMessageCallback dwCallback, IntPtr dwInstance, uint dwFlags);
public static uint midiInOpen(out IntPtr lphMidiIn, int uDeviceID, MidiWinApi.MidiMessageCallback dwCallback, IntPtr dwInstance, uint dwFlags) { lphMidiIn = new IntPtr(0); return(MidiWinApi.MMSYSERR_NOERROR); }
public static extern MMRESULT midiOutOpen(out IntPtr lphmo, uint uDeviceID, MidiWinApi.MidiMessageCallback dwCallback, IntPtr dwInstance, uint dwFlags);