CBL_CTF_COMP_PROPERTY_GET

コンポネントの指定されたプロパティ値を返す。

構文:
call "CBL_CTF_COMP_PROPERTY_GET" using by value     flags
                                       by reference component-id
                                       by reference property-name
                                       by reference property-vallen
                                       by reference property-value
                                          returning status-code
パラメタ:
呼び出しプロトタイプ使用時 ( 説明の読み方) PIC (32bitシステム)
flags cblt-x4-comp5 pic x(4) comp-5
component-id pic x(n) pic x(n)
property-name pic x(n) pic x(n)
property-vallen cblt-x4-comp5 pic x(4) comp-5
property-value pic x(n) pic x(n)
status-code 説明の読み方 参照
入力パラメタ:
flags 制御フラグ:
ビット 内容
0 0 文字列値を返す。文字列を終了させるにはビット1を使用すること。
1 整数値を返す。ビット1を無視すること。
1 0 スペース終了文字列の値を返す。
1 ナル終了文字列の値を返す。
2-28 今後の使用のために予約済み。値は0であること。
29 0 property-nameはスペース終了。
1 property-nameはナル終了。
30 0 component-idはスペース終了。
1 component-idはナル終了。ビット31が設定されていなければ無視される。
31 0 component-idはCBL_CTF_TRACER_GETへの呼出しから返されたpic x(4) comp-5 トレーサ処理。
1 component-idはpic x(n)テキスト文字列。終了文字はビット30にて定義される。
component-id プロパティ値が返されるコンポネント。フラグのビット31が設定されていなければpic x(4) comp-5 トレーサ処理(CBL_CTF_TRACER_GETより)、設定されていればpic x(n)テキスト一意名になる。
property-name スペースもしくはナル終了(ビット29の設定による)、大文字小文字の区別のない返された値をもつプロパティ。
property-vallen バッファの長さ。本プロパティの値は返されたものであること。バッファが返された値よりも著しく小さい場合、ルーチンは実行できない。整数値が返された場合はproperty-valueは無視される。
property-value ナル値が設定された場合、ルーチンは(property-valueで)property-nameによって指定されたプロパティを保持するために要求されるバッファの長さが返されて、プロパティ値が特定化される。
出力パラメタ:
property-vallen property-valueバッファ内で返される文字列値の長さ。終了文字を含まない。property-valueがナル値の場合か指定したバッファの長さが返される値に対して短すぎる場合、property-valueは要求されたバッファの長さに設定される。整数値が返された場合には、property-valueは設定されない。
property-value プロパティ値が返されるバッファ。文字列として返されるpic x(n)フィールドか、整数値として返されるpic x(4) comp-5フィールドとなる。
status-code 以下のうちの1つ
  • 78-CTF-RET-BUFFER-TOO-SMALL
  • 78-CTF-RET-INVALID-COMP-NAME
  • 78-CTF-RET-INVALID-PROP-NAME
  • 78-CTF-RET-INVALID-TRACE-HANDLE
  • 78-CTF-RET-NOT-ENOUGH-MEMORY
  • 78-CTF-RET-PROPERTY-NOT-FOUND
  • 78-CTF-RET-SUCCESS
  • 78-CTF-RET-VALUE-NOT-INTEGER
例:

"my comp"コンポネントイベントをトレースするトレーサ処理を確保し、2種類の"my comp"プロパティ値を取得する(ナル終了文字列値と整数値)。

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

01 component-id    pic x(7) value "mycomp ".
01 flags           pic x(4) comp-5.
01 prop-integer    pic x(4) comp-5.
01 prop-len        pic x(4) comp-5.
01 prop-string     pic x(100).
01 tracer-handle   pic x(4) comp-5.
...
call "CBL_CTF_TRACER_GET" using by value 0
                                by reference component-id
                                by reference tracer-handle
...
compute flags = 78-CTF-FLAG-PROP-STRING-VALUE b-or
                78-CTF-FLAG-PROP-NAME-NULL-TERM
move length of prop-string to prop-len

call "CBL_CTF_COMP_PROPERTY_GET" using by value flags
                                       by reference tracer-handle
                                       by reference "prop1 "
                                       by reference prop-len
                                       by reference prop-string
...
compute flags = 78-CTF-FLAG-PROP-INT-VALUE

call "CBL_CTF_COMP_PROPERTY_GET" using by value flags
                                       by reference tracer-handle
                                       by reference "prop2 "
                                       by value 0
                                       by reference prop-integer
...

関連項目