イベントチャネルのメソッドを呼び出すために、アプリケーションはイベントチャネルのオブジェクトリファレンスを獲得します。イベントチャネルのオブジェクトリファレンスは静的生成と動的生成により獲得の方法が異なります。
イベントチャネル生成コマンド(esmkchnlコマンド)によりオブジェクトリファレンスがネーミングサービスに登録されています。アプリケーションからネーミングサービスを使用して獲得します。
イベントファクトリのCREATEメソッドの復帰値としてオブジェクトリファレンスを獲得します。
静的生成によりネーミングサービスに格納されているオブジェクトリファレンスを獲得する例を以下に示します。アプリケーションは、ネーミングサービスにチャネル名を問い合わせ、イベントチャネルを獲得します。
ネーミングサービスから登録名「GROUP::CHANNEL」のオブジェクトリファレンスを獲得する場合
01 COPY COSNAMING-NAMINGCONTEXT IN CORBA REPLACING COSNAMING-NAMINGCONTEXT BY COS-NAMING.
01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV.
01 COPY COSNAMING-NAME IN CORBA REPLACING COSNAMING-NAME BY NAME.
01 COPY COSNAMING-NAMECOMPONENT IN CORBA REPLACING COSNAMING-NAMECOMPONENT BY NAME-COMPONENT.
01 COPY OBJECT IN CORBA REPLACING CORBA-OBJECT BY EVENT-CH.
MOVE "GROUP::CHANNEL" TO STR-BUF
CALL "CORBA-STRING-SET" USING
IDL-ID OF NAME-COMPONENT
STRING-LENGTH
STR-BUF
MOVE " " TO STR-BUF
CALL "CORBA-STRING-SET" USING
KIND OF NAME-COMPONENT
STRING-LENGTH
STR-BUF
MOVE 1 TO SEQ-LENGTH OF NAME
MOVE 1 TO SEQ-MAXIMUM OF NAME
CALL "CORBA-SEQUENCE-COSNAMING-NAMECOMPONENT-ALLOCBUF" USING
SEQ-MAXIMUM OF NAME
SEQ-BUFFER OF NAME
CALL "COSNAMING-NAMINGCONTEXT-RESOLVE" USING
COS-NAMING
NAME
ENV
EVENT-CH