private static extern uint __midiOutOpen( [MarshalAs( UnmanagedType.SysUInt )] ref IntPtr lphMidiOut, [MarshalAs( UnmanagedType.U4 )] uint uDeviceID, [MarshalAs( UnmanagedType.FunctionPtr )] Delegate dwCallback, [MarshalAs( UnmanagedType.U4 )] uint dwInstance, [MarshalAs( UnmanagedType.U4 )] uint dwFlags );