争论的目的是什么' CFStringRef name'在函数MIDIClientCreate,MIDIInputPortCreate和MIDIOutputPortCreate?

时间:2014-05-11 16:07:19

标签: objective-c coremidi

“CoreMIDI API”中有三个函数具有参数(CFStringRef)名称:“MIDIClientCreate”,“MIDIInputPortCreate”和“MIDIOutputPortCreate”。

' CFStringRef名称'参数的目的是什么?它是如何在API中使用的?为什么他们(Apple)在他们的API中创建了这样的参数,并没有在任何地方使用?也许我对最后一个错了。但为什么要在参数中命名?

感谢您的关注!

1 个答案:

答案 0 :(得分:2)

基础MIDI系统服务使用进程间通信到MIDI服务器,该服务器为其组件命名,因此这是作为支持构建的,但尚未在Core Midi库中充分利用。但是,与问题下面的评论一样,它实际上在检索特定对象的描述或名称以进行识别或比较时确实有用。例如,这将返回名称

MIDIClientRef midiClient;
OSStatus result;
result = MIDIClientCreate(CFSTR("My MIDI client"), NULL, NULL, &midiClient);


if (result == noErr)
{
    CFStringRef nameString;
    MIDIObjectGetStringProperty(midiClient, kMIDIPropertyName, &nameString);
    CFShow(nameString);
}