[ 前のページ ]
[ 次のページ ]
[ 目次 ]
[ 索引 ]
[ DOC Home ]
この章では,Extended File Specificationsに関するアプリケーションのサポートを評価する方法について説明します。
OpenVMS Alphaバージョン7.2のテストの一環として,OpenVMSアプリケーションの開発者は, すべての既存のアプリケーションを評価し,テストして,Extended File Specifications の現在のサポート・ レベルと,そのレベルが適切であるかどうかを確認する必要があります。 サポートのレベルについては,第2.1 節を参照してください。
文書化されていないインタフェースを使用してコーディングされているアプリケーションでは, 深いディレクトリまたは拡張ファイル名のサポートが提供されないことがあります。 第4.1.2項では, アプリケーションが拡張ファイル名をサポートできなくなるアプリケーション属性が示されています。 第4.1.3項では,アプリケーションがODS-5 ボリュームをサポートできなくなるアプリケーション属性が示されています。
これらのアプリケーションがExtended File Specificationsをサポートするように変更するか,Extended File Specifications ではこれらを使用しないようにするか, どちらかにします。Extended File Specificationsの省略時のサポートを提供するようにアプリケーションを変更する方法については, 第4.2.1項を参照してください。 完全サポートを行うようにアプリケーションをアップグレードする方法については, 第4.2.2 項を参照してください。
変更されていないOpenVMSアプリケーションのほとんどは,省略時のサポートのカテゴリに分類されます。 特に,このようなアプリケーションは, RMS呼び出しを実行する際に,新しいAPIではなく従来のAPIを使用します( 新しいRMS APIの詳細については,第B.2節を参照してください) 。高水準言語呼び出しを使用してファイル操作を実行するアプリケーションも, 言語の実行時ライブラリが完全サポートに変更されていない限り, このカテゴリに分類されます。[1]ほとんどの場合は, これらのアプリケーションを変更しなくても,Extended File Specificationsの環境で正常に動作します。
[1] OpenVMSバージョン7.2の時点では,完全サポートにアップグレードされた言語のRTL はありません。
次のいずれかに該当するアプリケーションでは,拡張ファイル名がサポートされていないことがあります。
ディレクトリの内容やファイル・ヘッダのデータのディスクでの構造など, ファイル・システムの内部知識を使用するアプリケーションは, ODS-5ボリュームでは正常に動作しません。
この後の項ではExtended File Specificationsのサポート・レベルをアップグレードするために必要な変更について説明します。 アプリケーションを完全サポート・レベルにアップグレードするには, 最初にそのアプリケーションが省略時のサポート・ レベルを満たしていなければならないことに注意してください。
Extended File Specificationsの省略時サポートを提供するようにアプリケーションをアップグレードするには, 4.2.1.1および4.2.1.2でそれぞれ推奨されているように, 少なくともそのアプリケーションがODS-5ボリューム構造と拡張ファイル命名機能の両方をサポートしている必要があります。 省略時サポートについては, 第2.1.2項で説明しています。
新しいODS-5ボリューム構造をサポートしていないアプリケーションは, 従来型のファイル指定だけを処理した場合でも,これらのボリューム上では正常に動作しません。
ODS-5ボリューム上でアプリケーションが正常に動作しない場合には,そのアプリケーションについて次の点を確認してください。
このようなアプリケーションは,通常,ディスク・デフラグメンタのようなシステム・ プログラムか,またはディスクに直接アクセスすることによってオーバヘッドを避けようとしているプログラムです。 このようなアプリケーションは, ディスク上のファイルまたはディレクトリに関する特定の知識に依存していますが, この知識は,ODS-5構造を導入したことによって, すでに変更されています。
推奨事項:アプリケーションには,できる限り文書化されたインタフェースや構造を使用します。
そのような場合,拡張ファイル名が含まれているディレクトリをこのアプリケーションが処理するときにエラーが発生する可能性があります。
推奨事項: RMS[2]インタフェースまたはQIOインタフェース, あるいはLIB$FIND_FILEのようなLIBRTLルーチンで提供されている検索関数を使用できるようにアプリケーションを変更します。
[2] OpenVMS Alphaバージョン7.2では,RMSディレクトリのキャッシング・ サイズが大幅に増加したため,大規模なディレクトリでの$SEARCH システム・サービスの性能が飛躍的に向上しました。
アプリケーションが拡張名を正しく処理できない場合には,そのアプリケーションについて次の点を確認してください。
たとえば,アプリケーションがディレクトリ指定の先頭を探すために大括弧([) を検索したり,ファイル指定の末尾を示すスペース文字を探している場合があります。
推奨事項:アプリケーションは,ファイル指定が有効かどうかを判断するためには, 実際の名前を使用して予備テストを実行するのではなく,RMS に依存するべきです。NAMブロックのUse the NAM$L_NODEフィールド,NAM$L_DEVフィールド,NAM$L_DIRフィールド,NAM$L_TYPE フィールド,およびNAM$L_VERフィールドを使用するか, またはSYS$FILESCANを使用して,この情報を取り出します。
ファイル名の大文字と小文字は区別されず,同じ文字を表す方法が複数あるため,2 つの文字列が同一のファイルを表している場合でも,文字列比較演算を実行するとエラーが発生する可能性があります。
推奨事項:新しいシステム・サービス$CVT_FILENAMESを使用してファイル名を比較する例については, サンプル・プログラム[SYSHLP.EXAMPLES]FILENAME_COMPARE.C を参照してください。
このフィールドには3ビットしかないため,指定できるのは最大で8レベルまでです。 アプリケーションがこれらのビットを使用することはほとんどなく, 通常,これらのビットはNAMが相対ファイル指定として指定されるときに,RMS によって使用されます。
推奨事項: OpenVMSバージョン7.2以降,NAMブロックとNAMLブロックの両方で, 新しくより大きいフィールドNAM$W_LONG_DIR_LEVELS を使用することができます。ディレクトリ・レベルの正しい数を知るには, このフィールドを使用します。
このようなビットは8つしかないため,報告できるのは最初の8ディレクトリ・ レベルのワイルドカードに限られます。アプリケーションがこれらのビットを使用することはほとんどなく, 通常,これらのビットはNAM が相対ファイル指定として指定されるときに,RMSによって使用されます。
推奨事項: OpenVMSバージョン7.2以降,NAMブロックとNAMLブロックの両方で, 新しくいフィールドNAML$W_FIRST_WILD_DIRを使用することができます。 ワイルドカードが含まれている最も上のディレクトリ・ レベルを知るには,このフィールドを使用します。
QIOインタフェースでは,拡張ファイル名を受け付けたり返すためには, アプリケーションが拡張ファイル名を認識できることを明示的に指定する必要があります。 さらに,拡張ファイル名のファイル名形式は,RMS インタフェースとQIOインタフェースとでは異なっています。 しかも,一部のファイル名は,2バイトのUnicode (UCS-2)文字で指定されていることがあります。 アプリケーションは,2バイトを占有する1 文字を処理できるようになっていなければなりません。
推奨事項: QIOインタフェースを使用しているほとんどのアプリケーションは,RMS を使用してファイル指定を解析したり,ファイルのファイルID やディレクトリIDを取り出している。そのようなアプリケーションは, これらのIDの値を使用して,QIOインタフェースからファイルにアクセスします。 このアクセス方式は,拡張名にも使用できます。 この方式に変更することによって,問題を解決できます。
NAMLブロックのNAML$L_FILESYS_NAMEフィールドからQIOシステムが使用する名前を取得したり, 新しいシステム・サービス(SYS$CVT_ FILENAME)を使用して,RMSファイル名とQIOファイル名との間で相互に変換することもできます。 この場合には,QIOサービスで拡張FIBブロックを使用して, アプリケーションが拡張名を認識していることを指定し, バッファを最大サイズまで拡大し,2バイトのUnicode文字を処理できるように準備する必要があります。
システム管理ユーティリティやディスク管理ユーティリティなど一部のOpenVMS アプリケーションでは,Extended File Specificationsの完全サポートが必要です。 通常,このようなユーティリティは,DIDやFIDの短縮形を持たないすべてのファイル指定を表示し, 操作しなければなりません。Extended File Specifications のすべての機能を完全にサポートするようにアプリケーションをアップグレードするには, 次の操作を行います。
[ 前のページ ]
[ 次のページ ]
[ 目次 ]
[ 索引 ]
[ DOC Home ]