dc_dam_dput

名称

物理ファイルへブロックの直接出力

形式

ANSI C ,C++の形式

#include <dcdami.h>
int  dc_dam_dput(int fno,char *datadr,int datalen,int blkno,
                DCLONG flags)

K&R版 C の形式

#include <dcdami.h>
int  dc_dam_dput(fno,datadr,datalen,blkno,flags)
int    fno;
char   *datadr;
int    datalen;
int    blkno;
DCLONG flags;

機能

物理ファイルへ,設定した相対ブロック番号に該当するブロックを出力します。dc_dam_dput関数は,再作成出力要求のdc_dam_iopen関数を呼び出してから使ってください。

出力データ長がブロック長よりも小さい場合は,ブロックへ出力して残りの領域をヌル文字で埋めます。出力データ長がブロック長よりも大きい場合は,dc_dam_dput関数はエラーリターンします。

物理ファイルへブロックを直接出力するときは,dc_dam_iopen関数で返されたリターン値のファイル記述子を設定します。

UAPで値を設定する引数

●fno

ブロックを直接出力するファイルの,ファイル記述子を設定します。

●datadr

出力データのアドレスを設定します。

●datalen

出力データの長さを設定します。

●blkno

出力先ブロックの,相対ブロック番号を設定します。

●flags

DCNOFLAGSを設定します。

リターン値

リターン値リターン値(数値)意味
正の整数正の整数は,出力ブロック長を示します。
DCDAMER_BADF-1603fnoに設定したファイル記述子は,正常にオープンして得られた記述子ではありません。
DAMファイルをオープンしていません。
DCDAMER_BUFER-1604出力データ長に,ブロック長よりも大きい値を設定しています。
DCDAMER_SEQER-1605DAMファイルにアクセスする関数を呼び出す順序が間違っています。
DCDAMER_BNOER-1606相対ブロック番号が間違っています。
DCDAMER_PARAM_FLAGS-1611flagsに設定した値が間違っています。
DCDAMER_IOER-1620出力エラーが起こりました。
DCDAMER_ACCESS-1628アクセスしようとしたDAMファイルは,セキュリティ機能で保護されています。dc_dam_dput関数を呼び出したUAPには,アクセス権限がありません。
DCDAMER_NO_ACL-1646アクセスしようとしたDAMファイルは,セキュリティ機能で保護されています。該当するファイルに対するACLがありません。