CBL_MEM_VALIDATE

解放メモリを監視して、メモリ割当てを有効にする。OSがサポートする場合は、メモリヒープをコンパクト化する。

構文:
call "CBL_MEM_VALIDATE" using by value     flags
                              by reference param
                              returning    status-code
パラメタ:
呼び出しプロトタイプ使用時 ( 説明の読み方) PIC (32bitシステム)
flags cblt-x4-comp-5 pic x(4) comp-5.
param Group predefined as cblt-mem-validate-param Group containing
cblte-mv-version cblt-x4-comp-5 pic x(4) comp-5.
cblte-mv-flags cblt-x4-comp-5 pic x(4) comp-5.
cblte-mv-type cblt-x4-comp-5 pic x(4) comp-5.
cblte-mv-size cblt-x4-comp-5 pic x(4) comp-5.
cblte-mv-address cblt-pointer pointer
status-code 説明の読み方 参照
入力パラメタ:
flags 制御フラグを有効にする。
ビット 内容
0
0 アクションなし
1 すべてのメモリ割当てを有効にする。
1
0 アクションなし
1 すべての解放メモリを有効にする。
2-30 将来的な使用ために保留。値は0。
31
0 アクションなし
1 メモリをコンパクト化する。
cblte-mv-version パラメタブロックのバージョン。値は0。
出力パラメタ:
param ルーチンが1000を返した場合のみ、本フィールドが設定される。
cblte-mv-flags 情報フラグ
ビット 内容
0
0 cblte-mv-addressが設定されない。
1 cblte-mv-addressに不正なメモリブロックのアドレスが含まれる。
1
0 cblte-mv-addressはユーザーデータアドレス
1 cblte-mv-addressはメモリヘッダアドレス
2
0 cblte-mv-sizeが設定されない。
1 cblte-mv-sizeに不正なメモリブロックのアドレスが含まれる。
3
0 cblte-mv-typeが設定されない。
1 cblte-mv-type containsに不正なメモリブロックのアドレスが含まれる。
4
0 割当てメモリが不正。
1 解放メモリが不正。
5
0 実行時システムによって検出された不正。
1 OSによって検出された不正。
6-31 将来的な使用のために保留。
status-code 操作状況
0 すべてのメモリ割当てが正常。
1000 不正メモリが検出。
1009 無効な指定パラメタ。
説明:

本ルーチンによって、メモリ割当てを有効化し、解放メモリを監視する。またOSがサポートすれば、メモリヒープをコンパクト化する。memory_strategy実行時調節ルーチンを使用して設定されたメモリ計画を有効化するには、本ルーチンを優先的に使用する。

コンパクトメモリフラグを設定する場合、本ルーチンはOSの許容範囲内でメモリのコンパクト化を行う。結果を表示する情報フラグの設定はない。

他参照:

関連項目