CBL_CTF_TRACER_NOTIFY

トレーサ設定コールバック機能をインストール/アンインストールする。

構文:
call "CBL_CTF_TRACE_NOTIFY" using by value     install-function
                                  by reference notif-install
                                     returning status-code
パラメタ:
呼び出しプロトタイプ使用時 ( 説明の読み方) PIC (32bitシステム)
install-function cblt-x4-comp5 pic x(4) comp-5
notif-install cblt-trc-notif-install Group item containing:
cblte-tni-version cblt-x4-comp5 pic x(4) comp-5
cblte-tni-handle cblt-x4-comp5 pic x(4) comp-5
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 以下のうちの1つ
  • 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項目のアドレスである。

フィールド 画像 コールプロトタイプ
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.

関連項目