ee_dbq_msgrefer
- 〈このページの構成〉
形式
ANSI C,C++の形式
#include <eedbq.h> int ee_dbq_msgrefer (char *dbque_name, EEULONG read_num, EEULONG buf_len, void *buf_pt, EEULONG *out_len, EELONG flags)
機能
読み出し済みメッセージを読み出します(参照読み出し)。
UAPで値を設定する引数
●dbque_name
DBキュー名を27バイト以内のアスキー文字列で設定します。文字列の末尾にはNULL文字を付けてください。このNULL文字は文字列の長さに数えません。
●read_num
読み出すメッセージの通番を設定します。
●buf_len
読み出したメッセージを格納する領域の長さを設定します(単位:バイト)。1以上の値を指定してください。
●buf_pt
読み出したメッセージを格納する領域のアドレスを設定します。
●out_len
読み出したメッセージの長さを格納する領域のアドレスを設定します。
●flags
EENOFLAGSを設定します。
TP1/EEから値が返される引数
●buf_pt
読み出したメッセージが返されます。
●out_len
読み出したメッセージの長さが返されます(単位:バイト)。
読み出したメッセージがオーバフローしてしまう場合(リターン値EEDBQER_BUF_OVERFLOW)は次のようになります。
リターン値
リターン値 |
意味 |
---|---|
EE_OK |
正常に終了しました。 |
EECOMER_CNDBPP |
オフラインバッチプロセスから発行しているため,この機能は使用できません。 |
EECOMER_CNDUOC |
UOCから発行しているため,この機能は使用できません。 |
EECOMER_ENVIRON |
TP1/EEの環境下にありません。 |
EEDBQER_ARGUMENT |
引数に設定した値が間違っています。 |
EEDBQER_BUF_LEN |
バッファ長が指定範囲外です。 |
EEDBQER_BUF_OVERFLOW |
読み出したメッセージがバッファをオーバフローしました。 |
EEDBQER_CONDITION |
関数の呼び出し条件が不正です。 |
EEDBQER_MEMORY_SHORT |
メモリが不足しました。 |
EEDBQER_NO_DBQUE |
要求されたDBキューは存在しません。 |
EEDBQER_NO_LIBRARY |
DBキュー機能のライブラリがリンケージされていません。 |
EEDBQER_NO_OPTION |
DBキュー機能は使用できません。 |
EEDBQER_QUE_TYPE |
設定されたDBキューのタイプはDBキュー機能で使用できません。
|
EEDBQER_READ_NUM |
引数read_numに指定した値は不当な値です。
|
EEDBQER_RM_ACCESS |
リソースマネジャへのアクセス時にエラーが発生しました。 |
EEDBQER_RM_CONNECT |
該当するスレッドではリソースマネジャに接続されていません。 |
EEDBQER_ROLLBACK_RESERVE |
HiRDBの暗黙的ロールバックが発生したため,ee_trn_rollback_mark関数を呼び出しました。 |
EEDBQER_STOP |
DBキューが使用できない状態です。 |
EEDBQER_TIMING |
このAPI関数を呼び出せる状態ではありません。
|
EEDBQER_UNRESOLVABLE |
そのほかのエラーが発生しました。 |
注意事項
【TP1/FSP限定】交替用メッセージ表書き込み機能使用時に,この関数内で行うメッセージ表へのアクセスで障害が発生すると,この関数はリターンしないでトランザクションがリトライロールバックする場合があります。