dc_dam_dget
名称
物理ファイルからブロックの直接入力
形式
ANSI C ,C++の形式
#include <dcdami.h>
int dc_dam_dget(int fno,char *datadr,int datalen,int blkno,
DCLONG flags)
K&R版 C の形式
#include <dcdami.h>
int dc_dam_dget(fno,datadr,datalen,blkno,flags)
int fno;
char *datadr;
int datalen;
int blkno;
DCLONG flags;
機能
物理ファイルから,設定した相対ブロック番号に該当するブロックを入力します。dc_dam_dget関数は,再作成出力要求のdc_dam_iopen関数を呼び出したあとで使ってください。
ブロック長がバッファ長よりも小さい場合は,ブロックを入力してそのブロック長をリターン値として返します。ブロック長がバッファ長よりも大きい場合は,dc_dam_dget関数はエラーリターンします。
物理ファイルからブロックを直接入力するときは,dc_dam_iopen関数で返されたリターン値のファイル記述子を設定します。
UAPで値を設定する引数
●fno
ブロックを直接入力するファイルの,ファイル記述子を設定します。
●datadr
入力バッファのアドレスを設定します。
●datalen
入力バッファの長さを設定します。
●blkno
入力するブロックの,相対ブロック番号を設定します。
●flags
DCNOFLAGSを設定します。
リターン値
リターン値 | リターン値(数値) | 意味 |
---|---|---|
正の整数 | 正の整数は,入力ブロック長を示します。 | |
DCDAMER_BADF | -1603 | fnoに設定したファイル記述子は,正常にオープンして得られた記述子ではありません。 |
DAMファイルをオープンしていません。 | ||
DCDAMER_BUFER | -1604 | 入力データ長に,ブロック長よりも小さい値を設定しています。 |
DCDAMER_SEQER | -1605 | DAMファイルにアクセスする関数を呼び出す順序が間違っています。 |
DCDAMER_BNOER | -1606 | 相対ブロック番号が間違っています。 |
DCDAMER_PARAM_FLAGS | -1611 | flagsに設定した値が間違っています。 |
DCDAMER_IOER | -1620 | 入力エラーが起こりました。 |
DCDAMER_ACCESS | -1628 | アクセスしようとしたDAMファイルは,セキュリティ機能で保護されています。dc_dam_dget関数を呼び出したUAPには,アクセス権限がありません。 |
DCDAMER_NO_ACL | -1646 | アクセスしようとしたDAMファイルは,セキュリティ機能で保護されています。該当するファイルに対するACLがありません。 |