Hitachi

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


4.7.1 dc_clt_accept_notification_s − 一方通知メッセージの受信

〈この項の構成〉

(1) 形式

(a) TP1/Client/Wの場合

■ _s付き関数

#include <dcvclt.h>
DCLONG dc_clt_accept_notification_s(
                           HWND hWnd, char *defpath,
                           char *inf,
                           DCLONG *inf_len,
                           unsigned short port, DCLONG timeout,
                           char *hostname,
                           char *nodeid, DCLONG flags)

■ _s無し関数

#include <dcvclt.h>
DCLONG dc_clt_accept_notification(
                           char *inf, DCLONG *inf_len,
                           unsigned short port, DCLONG timeout,
                           char *hostname, char *nodeid,
                           DCLONG flags)

(b) TP1/Client/Pの場合

■ _s付き関数

#include <dcvclt.h>
DCLONG dc_clt_accept_notification_s(
                           HWND hWnd, char CLTFAR *defpath,
                           char CLTFAR *inf,
                           DCLONG CLTFAR *inf_len,
                           unsigned short port, DCLONG timeout,
                           char CLTFAR *hostname,
                           char CLTFAR *nodeid, DCLONG flags)

■ _s無し関数

#include <dcvclt.h>
DCLONG dc_clt_accept_notification(
                           char CLTFAR *inf,
                           DCLONG CLTFAR *inf_len,
                           unsigned short port, DCLONG timeout,
                           char CLTFAR *hostname,
                           char CLTFAR *nodeid, DCLONG flags)

(2) 機能

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

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

(4) 値が返される引数

(5) リターン値

リターン値

数値

(10進数)

意味

DC_OK

0

正常終了しました。

DCCLTER_INVALID_ARGS

-2501

引数に指定した値が誤っています。

DCCLTER_FATAL

-2503

初期化に失敗しました。または,クライアント環境定義の指定に誤りがあります。

DCCLTER_NO_BUFS

-2504

必要なバッファが確保できませんでした。

DCCLTER_NET_DOWN

-2506

ネットワーク障害が発生しました。

DCCLTER_TIMED_OUT

-2507

メッセージの受信時にタイムアウトになりました。

DCCLTER_SYSERR

-2518

システムエラーが発生しました。

DCCLTER_VERSION

-2535

バージョン不一致が発生しました。

DCCLTER_INF_TOO_BIG

-2546

受信したメッセージが,CUPで用意した領域に収まりません。収まり切らないメッセージは切り捨てました。引数hostnameおよびnodeidには値を設定済みです。

DCCLTER_PORT_IN_USE

-2547

指定したポート番号は使用されています。

DCCLTER_INVALID_MESSAGE

-2548

不正なメッセージを受信しました。

DCCLTER_ACCEPT_CANCELED

-2549

一方通知受信待ち状態がdc_clt_cancel_notification_s関数によって解除されました。引数inf,inf_len,およびhostnameには値を設定済みです。

(6) 注意事項