CALL "C$CHDIR" USING DIR-NAME, ERR-NUM
DIR-NAME PIC X(n) | 新しいディレクトリの名前またはスペースを含めます。
シン クライアントのサポート用の「@[DISPLAY]:」を使用できます。次に例を示します。 C$CHDIR "@[DISPLAY]:C:\path" シン クライアント環境では、表示ホスト上で現在のデフォルト ディレクトリを取得するには、DIR_NAME で「@[DISPLAY]:」の後にスペースを入れます。 |
ERR-NUM PIC 9(9) COMP-4 (オプション) | 返されたエラー番号またはゼロ (成功の場合) を保持します。 |
2 番目の USING パラメーターを渡す場合、PIC 9(9) COMP-4 と記述する必要があります。このパラメーターは、ディレクトリの変更が成功した場合、ゼロに設定されます。エラーが発生した場合は、オペレーティング システムのエラー番号が含まれます。
DIR-NAME にスペースが含まれる場合、現在のデフォルトのディレクトリがその中に返されます。この場合、ERR-NUM は使用されません。それ以外は、新しいデフォルトのディレクトリにするディレクトリの名前を DIR-NAME に含める必要があります。Windows マシンでは、この中にドライブ名を含められます。ERR-NUM を渡す場合、変更が成功すると、このパラメーターはゼロに設定されます。それ以外は、オペレーティング システムから返されるエラー値が ERR-NUM に含まれます。
このルーチンの動作は、FILENAME_SPACES 構成変数の影響を受けます。FILENAME_SPACES の値によって、ファイル名にスペースを使用できるかどうかが決まります。
重要
C$CHDIR を使用する場合、CODE_PREFIX 構成エントリを作成してオブジェクト ファイルの場所を検索します。CODE-PREFIX で指定する検索場所は、すべてフル パス名にしてください。CODE_PREFIX には、現在のディレクトリ名や相対パス名を使用しないでください。フル パス名を使用しないと、ランタイム システムは、オブジェクト ファイルを再度開く必要がある場合にそのファイルを見つけられません。
たとえば、ランタイム システムは、次の場合にオブジェクト ファイルを再度開く必要があります。
オブジェクト ファイルを、現在のディレクトリ、または現在のディレクトリに対して相対的に指定されたディレクトリで検出した後に、現在のディレクトリを C$CHDIR ルーチンで変更した場合、ランタイム システムはオブジェクト ファイルを再度開く必要がある場合にそのファイルを見つけられません。これにより、致命的なエラーが生じ、プログラムが停止します。
C$CHDIR を使用する際にデバッグ モードで実行している場合、必ず環境ではなく構成ファイルで CODE_PREFIX を設定してください。デバッグ モードではない場合は、環境で CODE_PREFIX を設定できます。