CBL_MEM_VALIDATE

メモリ割り当てを検証し、解放メモリを監視して、オペレーティング システムでサポートされている場合にはメモリ ヒープを圧縮します。
制約事項: このルーチンはネイティブ COBOL でのみサポートされます。

構文:

call "CBL_MEM_VALIDATE" using by value     flags
                              by reference param
                              returning    status-code

パラメーター:

flags
呼び出しプロトタイプ使用時 (「説明の読み方」を参照):cblt-x4-comp-5
PIC:pic x(4) comp-5
param
次のように定義されている集団:
01 cblt-mem-validate-param
   03 cblte-mv-version    cblt-x4-comp-5    *> pic x(4) comp-5.
   03 cblte-mv-flags      cblt-x4-comp-5    *> pic x(4) comp-5.
   03 cblte-mv-type       cblt-x4-comp-5    *> pic x(4) comp-5.
   03 cblte-mv-size       cblt-os-size    		*> 32-bit: pic x(4) comp-5.
																																												 		64-bit: pic x(8) comp-5.
   03 cblte-mv-address    cblt-pointer      *> pointer

入力パラメーター:

flags
検証の制御フラグ:
ビット 0
0 何も実行しません。
1 すべてのメモリ割り当てを検証します。
ビット 1
0 何も実行しません。
1 すべての解放メモリを検証します。
2 から 30 将来使用するために予約されています。ゼロに設定する必要があります。
ビット 31
0 何も実行しません。
1 メモリを圧縮します。
cblte-mv-version
パラメーター ブロックのバージョン。ゼロにする必要があります。

出力パラメーター:

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 に、破損したメモリ ブロックのタイプが含まれています。
ビット 4
0 割り当てメモリに破損があります。
1 解放メモリに破損があります。
ビット 5
0 ランタイム システムによって破損が検出されました。
1 オペレーティング システムによって破損が検出されました。
ビット 6 から 31
将来使用するために予約されています。
status-code
処理状態を示すコード。
0 すべてのメモリ割り当てが正常です。
1000 メモリの破損が検出されました。
1009 指定されたパラメーターが無効です。

説明:

このルーチンを使用すると、メモリ割り当てを検証し、解放メモリを監視して、オペレーティング システムでサポートされている場合にはメモリ ヒープを圧縮できます。メモリの検証ストラテジについては、このルーチンを優先して、memory_strategy ランタイム チューナーの使用を設定してください。

メモリを圧縮するようにフラグを設定した場合は、オペレーティング システムで許容される範囲でメモリが圧縮されます。この結果を示す情報フラグの設定はありません。