スレッド記憶領域のハンドルを作成し、スレッド記憶領域のサイズを指定します。これらの値は、それ以降の CBL_TSTORE_GET の呼び出しで使用できます。新しいスレッド記憶領域はゼロに初期化されます。
構文:
call "CBL_TSTORE_CREATE" using tstore-handle
by value tstore-size
by value tstore-flags
パラメーター:
|
呼び出しプロトタイプ使用時 (「説明の読み方」を参照)
|
PIC |
tstore-handle |
cblt-pointer |
USAGE POINTER |
tstore-size |
cblt-os-size |
pic x(4) comp-5 または pic x(8) comp-5 (64 ビットのネイティブのみ) |
tstore-flags |
cblt-os-flags |
pic x(4) comp-5 または pic x(8) comp-5 (64 ビットのネイティブのみ) |
入力パラメーター:
- tstore-size
- スレッド記憶領域のサイズ。返されたハンドルを使用して CBL_TSTORE_GET を呼び出すすべてのスレッドにこの値が返されます。
- tstore-flags
- 必要なスレッド記憶領域のタイプ。
ビット |
意味 |
0 |
予約済み。ゼロに設定する必要があります。 |
1 |
予約済み。ゼロに設定する必要があります。 |
2 |
0:スレッド記憶領域ハンドルを割り当てます。ハンドルは、呼び出し元プログラムに依存し、呼び出し元プログラムがキャンセルされると自動的に割り当て解除されます。
1:呼び出し元プログラムから独立したスレッド記憶領域ハンドルを割り当てます。このビットが設定されている場合、スレッド記憶領域ハンドルは実行単位の最後に閉じられます。
|
上記以外のビット |
予約済み。ゼロに設定する必要があります。 |
出力パラメーター:
- tstore-handle
- スレッド記憶領域ハンドル。
- return-code
- ルーチンの成否を示します。
0 |
割り当て成功。 |
1000 |
スレッド記憶領域ハンドルを割り当てることができません。 |
説明:
CBL_TSTORE_CREATE は、メモリ ブロックのサイズを指定します。この値は、それ以降の CBL_TSTORE_GET の呼び出しで返されます。また、ハンドルを呼び出し元プログラムに関連付けることもできます。この場合、返されたハンドルは、呼び出し元プログラムがキャンセルされると自動的に閉じられます。どのような場合でも、返されたハンドルは、実行単位が終了した時点または CBL_TSTORE_CLOSE が呼び出された時点のいずれか早い方で終了します。
このスレッド記憶領域ハンドルがプログラムに関連付けられていない場合、スレッド記憶領域ハンドルは実行単位の最後に閉じられます。
このルーチンは、モニター ロック内でシングルスレッドの動作を適用するか、シングルスレッド モードでアプリケーションを初期化する際にのみ呼び出すことにより、シングルスレッド モードで呼び出されるようにする必要があります。