Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 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がありません。