Использование Swift CFunctionPointer для передачи обратного вызова в CoreMIDI API

Возможно, в настоящее время это на самом деле невозможно, что было бы неудачно. Я пытаюсь вызвать API-интерфейс CoreMIDI для настройки входа MIDI. Вот что я пытаюсь сделать в Swift:

var midiClient = MIDIClientRef()
var inputPort = MIDIEndpointRef()
var status: OSStatus

func readProc(packetList: UnsafePointer<MIDIPacketList>, readProcRefCon: UnsafeMutablePointer<Void>, srcConnRefCon: UnsafeMutablePointer<Void>) -> Void {
}

status = MIDIClientCreate("MIDI client", nil, nil, &midiClient);

status = MIDIDestinationCreate(midiClient, "MIDI input", readProc, nil, &inputPort);

Но я получаю эту ошибку: «(UnsafePointer, UnsafeMutablePointer, UnsafeMutablePointer) -> Void» не преобразуется в «MIDIReadProc»

Typedef MIDIReadProc является следующим:

typealias MIDIReadProc = CFunctionPointer<((UnsafePointer<MIDIPacketList>, UnsafeMutablePointer<Void>, UnsafeMutablePointer<Void>) -> Void)>

Есть ли способ получить указатель на функцию для моего метода readProc для передачи в API MIDIDestinationCreate?

Ответы на вопрос(2)

Ваш ответ на вопрос