用于跨地址空间发送事件的 API

向不同地址空间中的反应对象发送事件时,必须使用 RidSendRemoteEvent 函数,而不能使用标准的事件生成宏 RiCGEN:

RiCBoolean RidSendRemoteEvent (const RhpString strReactiveName, struct
RiCEvent* const ev, const RhpPositive eventSize);

strReactiveName - 目标反应对象的发布名

ev - 指向所要发送的事件的指针

eventSize - 要发送的事件的大小

注: 在提供 RidSendRemoteEvent 函数的 strReactiveName 参数时,可以使用 addressSpaceName::publishedNameOfReactiveObject 格式来指示哪个地址空间包含目标对象。这意味着,不同地址空间中的对象可以同名,并且事件仍将发送到适当的对象。

使用此选项时,用于地址空间的名称是 C_CG::Configuration::AddressSpaceName 属性的值,如用于跨地址空间发送事件的属性所述。

方便起见,IBM® Rational® Rhapsody® 提供了名为 RiCGENREMOTE 的宏,这个宏将调用 RidSendRemoteEvent 函数:

RiCGENREMOTE ([字符串 - 目标反应对象的发布名], [事件类型(将参数括在括号内)])

例如:

RiCGENREMOTE("destinationObject", Fstarted());

反馈