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
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 値を null で終了する文字列として返します。
ビット 2 から 28
将来使用するために予約されています。値は常に 0 です。
ビット 29
意味
0 property-name は空白文字で終了します。
1 property-name は null で終了します。
ビット 30
意味
0 component-id は空白文字で終了します。
1 component-id は null で終了します。ビット 31 を設定していない場合は無視されます。
ビット 31
意味
0 component-id は、CBL_CTF_TRACER_GET の呼び出しから返される pic x(4) comp-5 トレーサー ハンドルです。
1 component-id は、pic x(n) テキスト文字列です。文字列の終了文字はビット 30 で定義されます。
component-id
プロパティの値を返す対象のコンポーネント。flags のビット 31 が設定されていない場合は pic x(4) comp-5 トレーサー ハンドル (CBL_CTF_TRACER_GET から取得)、flags のビット 31 が設定されている場合は pic x(n) テキスト識別子になります。
property-name
値を返す対象のプロパティの空白文字または null (ビット 29 の設定で決まる) で終了する名前。大文字と小文字は区別されません。
property-vallen
プロパティ値が返される property-value バッファーの長さ。バッファーが短すぎて値を返せない場合、ルーチンは失敗します。値が整数として返される場合、property-vallen は無視されます。
property-value
null に設定すると、property-name で指定されたプロパティを保持するために必要なバッファーの長さが property-vallen として返されます。

出力パラメーター:

property-vallen
property-value バッファーの返される文字列の長さ (終了文字は除く)。property-value が null の場合、または指定されたバッファー長が短すぎて値を返せない場合、property-vallen は必要なバッファー長に設定されます。値が整数として返される場合、property-vallen は設定されません。
property-value
プロパティ値が返されるバッファー。これは、文字列として返される値の pic x(n) フィールド、または整数として返される値の pic x(4) comp-5 フィールドのいずれかです。
status-code
次のいずれかになります。
  • 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

例:

「mycomp」コンポーネントのイベントをトレースするためのトレーサー ハンドルを取得し、「mycomp」の 2 つのプロパティの値 (null で終了する文字列値と整数値) を取得します。

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
...