CBL_CTF_TRACER_NOTIFY

トレーサー構成コールバック関数を登録または解除します。
制約事項: このルーチンは現在、COBOL for JVM ではサポートされていません。

構文:

call "CBL_CTF_TRACE_NOTIFY" using by value     install-function
                                  by reference notif-install
                                     returning status-code

パラメーター

install-function
呼び出しプロトタイプ (「説明の読み方」を参照):cblt-x4-comp5
PIC:pic x(4) comp-5
notif-install
cblt-trc-notif-install として定義されている集団 (以下を含む)
01 cblt-trc-notif-install    typedef.
  03 cblte-tni-version       cblt-x4-comp5. *> pic x(4) comp-5.
  03 cblte-tni-handle        cblt-x4-comp5. *> pic x(4) comp-5.
  03 cblte-tni-callback      cblt-ppointer. *> procedure pointer
status-code
説明の読み方」を参照。

入力パラメーター:

install-function
実行する処理
0 コールバックを登録
1 コールバックを解除
cblte-tni-version
パラメーター ブロックのバージョン番号。値は常に 0 です。
cblte-tni-handle
コールバックを登録または解除するコンポーネントのトレーサーのハンドル (CBL_CTF_TRACER_GET の呼び出しから返される)。
cblte-tni-callback
登録 (install-function が 0 の場合) または解除 (install-function が 1 の場合) するコールバック関数。

出力パラメーター:

status-code
次のいずれかになります。
  • 78-CTF-RET-FAILURE
  • 78-CTF-RET-INVALID-TRACE-HANDLE
  • 78-CTF-RET-NOT-ENOUGH-MEMORY
  • 78-CTF-RET-SUCCESS

説明:

トレーサー構成コールバック関数をコンポーネントで登録することで、しきい値レベルの変更やプロパティ値の変更など、関連するトレーサーの構成に変更が発生したときにコンポーネントに通知することができます。

コールバック関数のインターフェイスは次のとおりです。

entry "callback-func" using by value     tracer-handle
                            by value     notification-type 
                            by reference notification-param

tracer-handle および notification-type は pic x(4) comp-5 項目で、notification-param は pic x(n) です。いずれも入力専用のパラメーターです。コールバック関数が完了すると戻りコードが 0 に設定されます。

通知タイプ 0
プロパティ値の変更が発生しました。notification-param は、次の構造の cblt-trc-notif-prop-change 項目のアドレスです。
フィールド PIC 呼び出しプロトタイプ
cblte-tnpc-version pic x(4) comp-5 cblt-x4-comp5
cblte-tnpc-flags pic x(4) comp-5 cblt-x4-comp5
cblte-tnpc-namelen pic x(4) comp-5 cblt-x4-comp5
cblte-tnpc-vallen pic x(4) comp-5 cblt-x4-comp5
cblte-tnpc-valint pic x(4) comp-5 cblt-x4-comp5
cblte-tnpc-name pointer cblt-pointer
cblte-tnpc-value pointer cblt-pointer

バージョン タイプ (cblte-tnpc-version):0 = 構造体のバージョン

制御フラグ (cblte-tnpc-flags):
ビット 0
意味
0 値は文字列です。
1 値は pic x(4) comp-5 整数です。
ビット 1 から 31
将来使用するために予約されています。
通知タイプ 1
トレース レベルの変更が発生しました。notification-param は、新しいトレース レベルを示す pic x(4) comp-5 項目のアドレスです。

例:

「mycomp」コンポーネントのイベントをトレースするためのトレーサー ハンドルを取得し、しきい値レベルおよびプロパティの変更の通知を処理するコールバックを登録します。

copy "cbltypes.cpy".
copy "mfctf.cpy".

01 component-id       pic x(7) value "mycomp".
01 install-params     cblt-trc-notif-install.

linkage section.
01 lk-tracer-handle            pic x(4) comp-5.
01 lk-notif-type               pic x(4) comp-5.
01 lk-notif-param              pic x.
01 lk-notif-param-level        redefines lk-notif-param
                               pic x(4) comp-5.
01 lk-notif-param-property     redefines lk-notif-param
                               cblt-trc-notif-prop-change
....
*>
*> Acquire tracer handle
*>
call "CBL_CTF_TRACER_GET" using by value 0
                                by reference component-id
                                by reference tracer-handle
 
...

*>
*> Install callback function
*>
move low-values to install-params
move tracer-handle to cblte-tni-handle of install-params
set cblte-tni-callback of install-params to entry "my-callback"

call "CBL_CTF_TRACER_NOTIFY" using by value 0
                                   by reference install-params
...
goback.
*>
*> The callback function to handle trace level and property 
*> changes
*>
entry "my-callback" using by value lk-tracer-handle
                          by value lk-notif-type
                          by value lk-notif-param.
evaluate lk-notif-type
    when 78-TRC-NOTIF-TYPE-LEVEL-CHANGE
        ....

    when 78-TRC-NOTIF-TYPE-PROP-CHANGE
        ....
end-evaluate

move 0 to return-code
goback.