SHARE 指定子は,装置を開いた時にファイルがロックされるかどうかを指定します。これは次の形式を取ります。
SHARE = shr
shr
以下のいずれかの値に評価されるスカラ基本文字式。
'DENYRW' | 読み取り/書き込み拒否を指定します。どのプロセスもこのファイルを開くことができません。 |
'DENYWR' | 書き込み拒否を指定します。どのプロセスもこのファイルを書き込み参照で開くことができません。 |
'DENYRD' | 読み取り拒否を指定します。他のプロセスはこのファイルを読み取り参照で開くことができません。 |
'DENYNONE' | 拒否なしを指定します。任意のプロセスがこのファイルを任意の状態で開くことができます。 |
基本値は 'DENYWR' です。ただし,コンパイラ・オプション /fpscomp:general か SHARED 指定子が使用されている場合の基本値は 'DENYNONE' となります。
以前のバージョンとの互換性のために 'COMPAT' も受け付けます。これは,'DENYNONE' と等価です。
INQUIRE 文で ACCESS 指定子 を使うと,ファイルに対する参照保護を調べることができます。
問題を起こすかもしれない操作を実行するときには,注意深く他のユーザーを許可しないようにします。たとえば,読むだけの目的でファイルを開き,開いている間,他のユーザーに書き込みを行わせたくない場合,ファイルを ACTION='READ' と SHARE='DENYRW' で開きます。他のユーザーは,ACTION='WRITE' でそのファイルを開くことができず,変更することもできません。
様々なユーザーがファイルを読むことができ,誰かがそのファイルを読んでいる間,誰もファイルを更新できないようにしたい場合を考えます。第 1 に,基本ユーザーにそのファイルに対してどのような参照形式を許可するかを決定します。初期ユーザーをファイルを読むためだけに限定したいので,そのユーザーは ACTION='READ' でファイルを開くべきです。第 2 に,初期ユーザーが他のユーザーにどのような参照形式を許可するかを決定します。この場合,他のユーザーはファイルを読むことのみが可能になります。第 1 ユーザーは,SHARE='DENYWR' でファイルを開くべきです。他のユーザーは同じファイルを ACTION='READ' と SHARE='DENYWR' で開くことができます。
関連情報
記録参照の制限の詳細については,プログラマーズ・ガイドを参照してください。