Interstage Application Server リファレンスマニュアル(API編)
目次 索引 前ページ次ページ

第1章 C言語インタフェース> 1.17 イベントサービスインタフェース> 1.17.1 CosEventCommインタフェース

1.17.1.5 CosEventComm_PullSupplier_try_pull()

名前

  CosEventComm_PullSupplier_try_pull

形式

  #include  <EventService.h> 
  CORBA_any  *CosEventComm_PullSupplier_try_pull(
                CosEventComm_PullSupplier  obj, 
                CORBA_boolean              *has_event, 
                CORBA_Environment          *env );

機能説明

 サプライヤにイベントデータを要求します。サプライヤからイベントデータを取り出せない場合は即座に復帰します。なお、イベントデータを取り出せるまでブロックしたい場合には、CosEventComm_PullSupplier_pull()を使用してください。
 取り出したany型のイベントデータは、この領域が不要になった時点で、CORBA_free()を使用して領域を解放する必要があります。

パラメタ

 obj
 CosEventChannelAdmin_ConsumerAdmin_obtain_pull_supplier()が返すオブジェクトリファレンス。
 has_event(outパラメタ)
 イベントデータを取り出せた場合は、CORBA_TRUEが設定されます。
 イベントデータを取り出せなかった場合は、CORBA_FALSEが設定されます。
 env
 例外情報が格納される構造体。

復帰値

 正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。イベントデータを取り出せた場合は、has_eventにCORBA_TRUEが設定され、サプライヤからのイベントデータが復帰します。イベントデータを取り出せなかった場合には、has_eventにCORBA_FALSEが設定されます。この場合も空のany型のイベントデータの領域が獲得されるので、取り出したany型のイベントデータの領域は、CORBA_free()を使用して領域を解放する必要があります。
 異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

 ユーザ例外の場合、以下の詳細情報が設定されます。

 ex_CosEventComm_Disconnected
 イベントチャネルに接続されていません。

 システム例外の場合、以下の詳細情報が設定されます。

 ex_CORBA_StExcep_NO_RESOURCES
 以下のいずれかの可能性があります。
 − イベントサービスのイベントチャネルに蓄積できるデータ数の上限に達した。
 − イベントチャネルが閉塞終了中である。
 
 − イベントチャネルが閉塞/自動閉塞されている。
 ex_CORBA_StExcep_COMM_FAILURE
 タイムアウトが発生したか、切断処理が行われたためpull処理が中断された可能性があります。または、通信異常が発生しました。
 ex_CORBA_StExcep_NO_IMPLEMENT
 イベントチャネルが起動されていません。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005