关于QNX的IPC通讯问题

我要取得chid ;
可以用name_attach得到的attach->chid;
也可以用ChannelCreate直接取得chid;两者有区别吗?

而且chid的值在不同进程中值有关系吗?
使用ConnectAttach得到的coid在不同进程中也因此相等,这样有关系吗?

还有在发送信息给进程时MsgSend或MsgSendPulse中使用的coid;
这个coid是name_open进程名得来的还是ConnectAttach得来的;
我试了试都可以???

请大侠们指教~~~

ChannelCreate()是最底部的调用,返回一个chid;name_attach()内部除了使用ChannelCreate()来取得一个chid以外,还把这个chid跟一个 name绑定在一起。这样,别的进程只需要知道name,就可以来通信了。

chid/coid的值只在一个进程中有效,跟open()返回的文件描述符一样(其实在QNX的open()里,返回的就是一个coid)

ConnectAttach()与name_open()都返回coid,跟 上面的ChannelCreate() vs name_attach() 一样,ConnectAttach()需要知道在另一个进程里的chid号(实际应用中比较难),而name_open()只需要知道一个name就行了。