dc_dam_close
- 〈このページの構成〉
形式
ANSI C ,C++の形式
#include <dcdam.h> int dc_dam_close(int damfd,DCLONG flags)
K&R版 C の形式
#include <dcdam.h> int dc_dam_close(damfd,flags) int damfd; DCLONG flags;
機能
論理ファイルをクローズします。
-
回復対象のDAMファイルの場合
トランザクション処理の範囲内でオープンした論理ファイルのうち,トランザクションの終了までにクローズしていないものは,DAMサービスが同期点処理時にクローズします。ただし,トランザクションの範囲外(dc_trn_begin関数を呼び出す前)にオープンした場合や,回復対象外のDAMファイルは,クローズしません。
トランザクションを開始する前に論理ファイルをオープンした場合,UAPの処理を終了させる前に必ずクローズしてください。
-
回復対象外のDAMファイルの場合
トランザクション処理とは同期しないため,論理ファイルをクローズするときに任意にdc_dam_close関数を呼び出せます。ただし,dc_dam_end関数を呼び出す前に,オープンしている論理ファイルをdc_dam_close関数でクローズしておいてください。
論理ファイルをクローズするときは,dc_dam_open関数で返されたリターン値のファイル記述子を設定します。
UAPで値を設定する引数
●damfd
クローズするファイルの,ファイル記述子を設定します。
●flags
DCNOFLAGSを設定します。
リターン値
リターン値 |
リターン値(数値) |
意味 |
---|---|---|
DC_OK |
0 |
論理ファイルを正常にクローズしました。 |
DCDAMER_PROTO |
-1600 |
dc_rpc_open関数を呼び出していません。 |
トランザクションの範囲外でオープンしているDAMファイルを,トランザクションの範囲内でクローズしています(回復対象のDAMファイルにアクセスした場合だけリターンされます)。 |
||
ユーザサービス定義のatomic_updateオペランドの指定が'N'になっています(回復対象のDAMファイルにアクセスした場合だけリターンされます)。 |
||
dc_dam_start関数を呼び出していません(回復対象外のDAMファイルにアクセスした場合だけリターンされます)。 |
||
次に示すように,UAPを正しくリンケージしていません。
|
||
DCDAMER_BADF |
-1603 |
damfdに設定したファイル記述子は,正常にオープンして得られた記述子でありません。 |
DAMファイルをオープンしていません。 |
||
DCDAMER_PARAM_FLAGS |
-1611 |
flagsに設定した値が間違っています。 |