分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編

[目次][索引][前へ][次へ]

dc_dam_hold

名称

論理ファイルの閉塞

形式

ANSI C ,C++の形式

 
#include <dcdam.h>
int  dc_dam_hold(char *lfname,DCLONG flags)
 

K&R版 C の形式

 
#include <dcdam.h>
int  dc_dam_hold(lfname,flags)
char      *lfname;
DCLONG    flags;
 

機能

論理ファイルを閉塞します。dc_dam_hold関数を呼び出したあとには,指定した論理ファイルに対するほかのUAPからのアクセス要求は,すべて論理閉塞エラーでリターンします。

UAPで値を設定する引数

●lfname

閉塞するファイルの論理ファイル名を,1〜8バイトの名称で設定します。

●flags

DCNOFLAGSを設定します。

リターン値

リターン値 リターン値(数値) 意味
DC_OK 0 lfnameに設定した論理ファイルは正常に閉塞しました。
DCDAMER_PROTO -1600 dc_rpc_open関数を呼び出していません。
ユーザサービス定義のatomic_updateオペランドの指定が'N'になっています(回復対象のDAMファイルにアクセスした場合だけリターンされます)。
dc_dam_start関数を呼び出していません(回復対象外のDAMファイルにアクセスした場合だけリターンされます)。
次に示すように,UAPを正しくリンケージしていません。
  • DAMサービスの関数でTAMファイルにアクセスする場合に使うライブラリ(-ltdam)を,不当にリンケージしています。
  • トランザクション制御用オブジェクトファイルのリソースマネジャ登録が間違っています。
DCDAMER_UNDEF -1601 設定した論理ファイル名は定義されていません。
DCDAMER_NOMEM -1607 メモリが不足しました。
DCDAMER_PARAM_LFNAME -1610 lfnameに設定した論理ファイル名が間違っています。
DCDAMER_PARAM_FLAGS -1611 flagsに設定した値が間違っています。
DCDAMER_VERSION -1618 UAPが,現在稼働しているDAMサービスでは動作できないバージョンのDAMライブラリと結合されています。
DCDAMER_LHOLDED -1625 lfnameに設定した論理ファイル名は,すでに論理閉塞しています。
DCDAMER_OHOLDED -1626 lfnameに設定した論理ファイル名は,すでに障害閉塞しています。
DCDAMER_ACCESS -1628 閉塞しようとしたDAMファイルは,セキュリティ機能で保護されています。dc_dam_hold関数を呼び出したUAPには,アクセス権限がありません。
DCDAMER_NO_ACL -1646 閉塞しようとしたDAMファイルは,セキュリティ機能で保護されています。該当するファイルに対するACLがありません。