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

第2章 C++言語インタフェース> 2.12 POA関連インタフェース> 2.12.3 POAインタフェース

2.12.3.21 PortableServer::POA::servant_to_reference()

名前

 PortableServer::POA::servant_to_reference

形式

 CORBA::Object_ptr servant_to_reference(
                PortableServer::Servant  p_servant,
                CORBA::Environment& = CORBA::Environment() )
                throw( CORBA::Exception );

機能説明

 対象のPOAに設定するポリシによって、下記(a)(b)の動作を行います。
(a) 対象のPOAがUNIQUE_IDポリシをもち、p_servantパラメタで指定したServantがアクティブな場合は、Servantをアクティブにするために使用した情報を内包したオブジェクトリファレンスが返されます。
(b) 対象のPOAがIMPLICIT_ACTIVATIONポリシとMULTIPLE_IDポリシを持つ場合、またはIMPLICIT_ACTIVATIONポリシをもち指定したServantがアクティブでない場合、ServantはPOAが生成するオブジェクトIDと、Servantに関連付けられたインタフェースIDを使用してアクティベートされます。そして、対応するオブジェクトリファレンスが返されます。対象のPOAは、RETAINポリシに加え、UNIQUE_IDポリシまたはIMPLICIT_ACTIVATIONポリシを設定されている必要があります。

パラメタ

 p_servant
 オブジェクトリファレンスを取得する対象のServant(Servant型オブジェクト)。

復帰値

 正常終了した場合は、指定したServantに対応するオブジェクトリファレンスが返されます。
 異常終了した場合は、以下の例外が発生します。

  PortableServer::POA::ServantNotActive
 上記機能説明の(a)、(b)以外の場合。
  PortableServer::POA::WrongPolicy
 対象のPOAにRETAINポリシとUNIQUE_IDポリシまたは、RETAINポリシとIMPLICIT_ACTIVATIONポリシが設定されていません。
  CORBA::SystemException
 その他の要因。

 システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。


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

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