|
|
tpnotify(3c)
関連項目
tpnotify()-クライアント識別子によって通知を送信するルーチン
形式
#include <atmi.h>
int tpnotify(CLIENTID *clientid, char *data, long len, long flags)
機能説明
tpnotify() は、各クライアントに任意通知型メッセージを送信できるようにします。
clientid は、以前のあるいは現在のサービス呼び出しの TPSVCINFO 構造体から保存された、または、他の何らかの通信機構によってクライアントに渡された (たとえば、管理インターフェイスを使って検索された) クライアント識別子を指すポインタです。
この要求のデータ部は data によって示され、以前に tpalloc() によって割り当てられたバッファです。len に送信するデータの大きさを指定します。ただし、data が長さの指定を必要としないタイプのバッファを指す場合 (たとえば、FML フィールド化バッファ)、len は 0 でかまいません。また、data は NULL であってもかまいません。この場合、len は無視されます。
tpnotify() が正常終了した場合、メッセージはシステムに渡され、指定されたクライアントに送信されます。TPACK フラグが設定されている場合は、正常終了は、クライアントがメッセージを受信したことを意味します。さらに、クライアントが任意通知型のメッセージ・ハンドラに登録している場合は、ハンドラが呼び出されます。
次に、有効な flags の一覧を示します。
マルチスレッドのアプリケーションの場合、TPINVALIDCONTEXT 状態のスレッドは tpnotify() の呼び出しを発行できません。
戻り値
異常終了すると、tpnotify() は -1 を返し、tperrno() を設定してエラー条件を示します。呼び出しが異常終了して tperrno() に特別の値が指定された場合、間に ATMI 呼び出しを入れず、引き続き tperrordetail() を呼び出すと、エラーに関する詳細な情報が提供されます。詳細については、tperrordetail(3c) リファレンス・ページを参照してください。
エラー
異常終了時には、tpnotify() は tperrno() を次のいずれかの値に設定します。
関連項目
「C 言語アプリケーション・トランザクション・モニタ・インターフェイスについて」、 tpalloc(3c)、 tpbroadcast(3c)、 tpchkunsol(3c)、 tperrordetail(3c)、 tpinit(3c)、 tpsetunsol(3c)、 tpstrerrordetail(3c)、 tpterm(3c)
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|