名前
CosTransactions_Current_commit
形式
#include "orb.h" #include "CosTransactions.h" void CosTransactions_Current_commit( CosTransactions_Current current, CORBA_boolean report_heuristics, CORBA_Environment *env);
機能説明
トランザクションをcommitします。
パラメタ
CORBA_ORB_resolve_initial_referencesメソッド (CORBA_ORB_ObjectId_TransactionCurrent)で取得したCurrentインタフェースのオブジェクトリファレンスを指定します。
CORBA_TRUEを指定するとヒューリスティックエラーが通知されます。
例外情報を獲得するためにCORBA_Environment構造体を参照するポインタを指定します。
復帰値
正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたは CORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
ユーザ例外の場合、以下の詳細情報が設定されます。
ex_CosTransactions_NoTransaction: トランザクションが作成されていません。
システム例外の場合、以下の例外が発生します。
ex_CORBA_StExcep_NO_PERMISSION: トランザクションをcommitする権利がありません。 ex_CosTransactions_HeuristicMixed: トランザクションの完了状態は、いくつかがcommitされ、いくつかがrollbackされた状態です。 ex_CosTransactions_HeuristicHazard: トランザクションの完了状態不明です。 ex_CORBA_StExcep_TRANSACTION_ROLLEDBACK: トランザクションがロールバックされています。 ex_CORBA_StExcep_NO_IMPLEMENT: OTSシステム、またはリソース管理プログラムが起動されていません。 ex_CORBA_StExcep_COMM_FAILURE: 通信異常が発生しました。 ex_CORBA_StExcep_NO_RESOURCES: 資源不足が発生しました。 ex_CORBA_StExcep_NO_MEMORY: 動的メモリの獲得に失敗しました。