Objective c 什么';论证的目的是什么;CFStringRef名称';在函数MIDIClientCreate、MIDIInputPortCreate和MIDIOutputPortCreate中?

Objective c 什么';论证的目的是什么;CFStringRef名称';在函数MIDIClientCreate、MIDIInputPortCreate和MIDIOutputPortCreate中?,objective-c,coremidi,Objective C,Coremidi,“CoreMIDI API”中有三个函数具有参数(CFStringRef)名称:“MIDIClientCreate”、“MIDIInputPortCreate”和“MIDIOutputPortCreate” “CFStringRef name”参数的用途是什么?它是如何在API中使用的?为什么他们(苹果)在他们的API中创建了这样一个没有在任何地方使用的参数?也许我错了最后一个。但为什么要在争论中使用名字呢 谢谢大家的关注 底层MIDI系统服务使用到MIDI服务器的进程间通信,MIDI服务器为其

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

CFStringRef name”参数的用途是什么?它是如何在API中使用的?为什么他们(苹果)在他们的API中创建了这样一个没有在任何地方使用的参数?也许我错了最后一个。但为什么要在争论中使用名字呢


谢谢大家的关注

底层MIDI系统服务使用到MIDI服务器的进程间通信,MIDI服务器为其组件命名,因此这是内置的支持,但在核心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);
}

我询问了名称参数的语义,为什么使用它,而不是为什么它是CFStringRef。它是否与
kMIDIPropertyDisplayName
kMIDIPropertyName
kMIDIPropertyNameConfiguration
相关?否,这些枚举用于
MIDIObjectGetStringProperty
和其他以
MIDIObject…
开头的枚举。我从未想过在MIDIClientRef上使用MIDIObjectGetStringProperty。谢谢你,伙计!