Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

$IO

現在の入出力デバイスの ID を含みます。

Synopsis

$IO
$I

概要

$IO は、すべての入出力処理が対象となる現在のデバイスのデバイス ID を含みます 入力デバイスと出力デバイスが異なる場合、$IO には、現在の入力デバイスの ID が含まれます。

Caché は、ログイン時に $IO の値を主入力/主出力デバイスに設定します。$PRINCIPAL には、主デバイスの ID が含まれます。USE コマンドを使用して、現在のデバイスを変更できます。USE コマンド、CLOSE コマンド、BREAK コマンド、あるいはプログラマ・プロンプトに戻るときのみ、この値を変更できます。

%Library.DeviceOpens in a new tab クラスの GetType()Opens in a new tab メソッドを使用して、現在のデバイスのデバイス・タイプを返すことができます。

UNIX® システムでは、$IO で実際のデバイス名を指定します。

Windows システムでは、$IO は 主デバイスに対する、Caché で生成された一意の識別子を含みます。ターミナル・デバイス (TRM または TNT) は、垂直バー、コロン、および別の垂直バーで囲まれた擬似デバイス名で構成され、その後にデバイスのプロセス ID (pid) 番号が続きます。非ターミナル・デバイスでは、擬似デバイス名は垂直バーで囲まれ、その後に一意の数値識別子が続きます。

ターミナルでは、|TRM|:|pid

Telnet ターミナルでは、|TNT|nodename:portnumber|pid

ファイル記述子では、|FD|file_descriptor_number

(ファイル記述子は CALLIN/CALLOUT リモート・アクセスと使用されます。)

TCP デバイスでは、|TCP|unique_device_identifier

名前付きパイプでは、|NPIPE|unique_device_identifier

既定のプリンタでは、|PRN|

既定以外のプリンタでは、|PRN|physical_device_name

主デバイスが NULL デバイス (バックグラウンド・プロセスの既定) の場合、$IO は ":pid" が追加された NULL デバイス名を含み、一意の添え字に対して $IO を使用できるようにします。$IO に含まれる NULL デバイス名は、オペレーティング・システムによって異なります。

  • Windows システムでは、$IO には //./nul:pid が含まれます。

  • UNIX® システムでは、$IO で /dev/null:pid を指定します。

入力デバイスがパイプ、またはファイルを経由して転送される場合、$IO は "00" を含みます。

既定のデバイス番号は、設定が可能です。管理ポータルに進み、システム, 構成, デバイス設定, デバイス を選択します。必要なデバイスに対して [編集] をクリックし、[物理デバイス名:] オプションを表示して変更します。これを行うと、$IO は実オペレーティング・システム・デバイス名ではなく、割り当てられたデバイス番号を含みます。

この特殊変数は、SET コマンドを使用して変更することはできません。変更を試みると、<SYNTAX> エラーが返されます。

関連項目

FeedbackOpens in a new tab