分散トランザクション処理機能 OpenTP1 クライアント使用の手引 TP1/Client/W,TP1/Client/P編

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

4.7.5 dc_clt_chained_accept_notification_s一方通知受信

<この項の構成>
(1) 形式
(2) 機能
(3) UAPで値を設定する引数
(4) 値が返される引数
(5) リターン値
(6) 注意事項

(1) 形式

(a) TP1/Client/Wの場合
●_s付き関数
 
#include <dcvclt.h>
DCLONG dc_clt_chained_accept_notification_s
                             (DCCLT_ID ntfid, char *inf,
                              DCLONG *inf_len,
                              DCLONG timeout,
                              char *hostname,
                              char *nodeid,
                              DCLONG flags)
 
●_s無し関数
 
#include <dcvclt.h>
DCLONG dc_clt_chained_accept_notification
                       (char *inf, DCLONG *inf_len,
                        DCLONG timeout, char *hostname,
                        char *nodeid, DCLONG flags)
 
(b) TP1/Client/Pの場合
●_s付き関数
 
#include <dcvclt.h>
DCLONG dc_clt_chained_accept_notification_s
                             (DCCLT_ID ntfid, char CLTFAR *inf,
                              DCLONG CLTFAR *inf_len,
                              DCLONG timeout,
                              char CLTFAR *hostname,
                              char CLTFAR *nodeid,
                              DCLONG flags)
 
●_s無し関数
 
#include <dcvclt.h>
DCLONG dc_clt_chained_accept_notification
                       (char CLTFAR *inf, DCLONG CLTFAR *inf_len,
                        DCLONG timeout, char CLTFAR *hostname,
                        char CLTFAR *nodeid, DCLONG flags)
 

(2) 機能

サーバ側の関数dc_rpc_cltsendによって通知されるメッセージを,引数timeoutで指定した値まで待ち続けます。受信した時点でCUPに制御を戻し,リターン値,通知メッセージ,通知メッセージ長,通知元サーバのホスト名,通知元サーバのノード識別子を返します。この関数を発行する前にdc_clt_open_notification_s関数を発行しておく必要があります。

(3) UAPで値を設定する引数

(4) 値が返される引数

(5) リターン値

リターン値 数値
(10進数)
意味
DC_OK 0 正常終了しました。
DCCLTER_INVALID_ARGS -2501 引数に指定した値が誤っています。
DCCLTER_PROTO -2502 dc_clt_open_notification_s関数が実行されていません。
DCCLTER_NO_BUFS -2504 必要なバッファが確保できませんでした。
DCCLTER_NET_DOWN -2506 ネットワーク障害が発生しました。
DCCLTER_TIMED_OUT -2507 メッセージの受信時にタイムアウトになりました。
DCCLTER_SYSERR -2518 システムエラーが発生しました。
DCCLTER_VERSION -2535 バージョン不一致が発生しました。
DCCLTER_INVALID_NTFID -2544 ntfidに指定した一方通知受信IDは,dc_clt_open_notification_s関数で受け取った一方通知受信IDと異なっています。
DCCLTER_INF_TOO_BIG -2546 受信したメッセージが,CUPで用意した領域に収まりません。収まらないメッセージは切り捨てました。引数hostname,およびnodeidには値を設定済みです。
DCCLTER_INVALID_MESSAGE -2548 不正なメッセージを受信しました。
DCCLTER_ACCEPT_CANCELED -2549 一方通知受信待ち状態がdc_clt_cancel_notification_s関数によって解除されました。引数inf,inf_len,およびhostnameには値を設定済みです。

(6) 注意事項

引数hostnameには64バイト以上,引数nodeidには8バイト以上の領域を指定してください。領域がこれより小さい場合,TP1/Client内部の処理で領域破壊を起こすおそれがあります。

注※
クライアント環境定義DCCLTOPTIONに00000008を指定した場合,64バイトではなく,256バイトになります。