コールイン関数の使用法
ここでは、コールイン関数の概要を説明します。各関数の詳しい説明については、それぞれのリンクを参照してください。ここで説明するカテゴリは以下のとおりです。
-
これらの関数は、コールイン・セッションを開始し、停止します。また、このセッションに関連する各種設定を制御します。
-
これらの関数は、関数呼び出し、またはルーチン呼び出しを実行します。スタック関数は、関数参照またはルーチン参照をプッシュするために用意されています。
-
これらの関数は、標準の InterSystems IRIS® トランザクション・コマンド (TSTART、TCOMMIT、および TROLLBACK) と LOCK コマンドを実行します。
-
これらの関数は、Oref カウンタを操作し、メソッド呼び出しを実行して、プロパティの取得、または設定を行います。スタック関数は、Oref、メソッド参照、プロパティ名に対しても含まれています。
-
これらの関数は、InterSystems IRIS で呼び出され、グローバルを操作します。関数は、グローバルを引数スタックにプッシュするために用意されています。
-
これらの関数は文字列をある形式から別の形式に変換します。また、文字列引数のプッシュ、またはポップを行います。
-
これらのスタック関数は、int、double、$list、または pointer 値を持つ引数のプッシュとポップに使用されます。
この後のセクションでは、個々の関数について詳しく説明します。
プロセス・コントロール
これらの関数は、コールイン・セッションの開始と停止、セッションに関連する各種設定の制御、ObjectScript コマンドや式を実行するための高レベルのインタフェースを提供します。
セッション制御
これらの関数は、コールイン・セッションを開始し、停止します。また、このセッションに関連する各種設定を制御します。
| IrisAbort | InterSystems IRIS に現在の要求を終了するように命令します。 |
| IrisChangePasswordA[W][H] | InterSystems 認証が使用されている場合、ユーザのパスワードを変更します。コールイン・セッションが初期化される前に呼び出される必要があります。 |
| IrisContext | $ZF コールバック・セッションにあるか、コールイン呼び出しの InterSystems IRIS 側にあるか、またはユーザ・プログラム側にあるかを示す整数を返します。 |
| IrisCtrl | InterSystems IRIS が CTRL-C を無視するかどうかを決定します。 |
| IrisEnd | InterSystems IRIS セッションを終了し、必要であれば、切断された接続を削除します (InterSystems IRIS 内での呼び出し)。 |
| IrisEndAll | すべてのコールイン・スレッドを切断し、そのスレッドが終了するまで待機します。 |
| IrisOflush | 保留中の出力をすべてフラッシュします。 |
| IrisPromptA[W][H] |
ターミナルである文字列を返します。 |
| IrisSetDir | 実行時に、マネージャのディレクトリ (IrisSys\Mgr) の名前を動的に設定します。Windows では、InterSystems IRIS の共有ライブラリ・バージョンでこの関数が必要です。 |
| IrisSignal | ユーザ・プログラムによって検出されるシグナルを処理するために InterSystems IRIS に報告します。 |
| IrisSecureStartA[W][H] |
InterSystems IRIS プロセスを開始します。 |
| IrisStartA[W][H] | (お勧めしません。代わりに、IrisSecureStart を使用してください) InterSystems IRIS プロセスを開始します。 |
ObjectScript の実行
これらの関数は、ObjectScript コマンドや式の実行に使用される高レベルなインタフェースを提供します。
| IrisExecuteA[W][H] |
ObjectScript コマンドを実行します (InterSystems IRIS 内での呼び出し)。 |
| IrisEvalA[W][H] |
ObjectScript 式を評価します (InterSystems IRIS 内での呼び出し)。 |
| IrisConvert | IrisEval によって返された InterSystems IRIS 式の値を返します。 |
| IrisType | IrisEval で返される項目のデータ型を返します。 |
| IrisErrorA[W][H] |
最新のエラー・メッセージ、関連するソース文字列、ソース文字列内でのエラーの発生箇所のオフセットを返します。 |
| IrisErrxlateA[W][H] |
コールイン関数から返されたエラー番号に関連する InterSystems IRIS エラー文字列を返します。 |
関数とルーチン
これらの関数は InterSystems IRIS で呼び出され、関数呼び出し、またはルーチン呼び出しを実行します。関数は、関数参照またはルーチン参照を引数スタックにプッシュするために用意されています。
| IrisDoFun | ルーチン呼び出しを実行します (特別な場合) (InterSystems IRIS 内での呼び出し)。 |
| IrisDoRtn | ルーチン呼び出しを実行します (InterSystems IRIS 内での呼び出し)。 |
| IrisExtFun | 外部関数呼び出しを実行します(InterSystems IRIS 内での呼び出し)。 |
| IrisPop | 引数スタックから値をポップ・オフします。 |
| IrisUnPop | 以下からスタック・エントリをリストアします。 IrisPop |
| IrisPushFunc[W][H] | 外部関数参照を引数スタックにプッシュします。 |
| IrisPushFuncX[W][H] | 拡張関数参照を引数スタックにプッシュします |
| IrisPushRtn[W][H] | ルーチン参照を引数スタックにプッシュします |
| IrisPushRtnX[W][H] | 拡張ルーチン参照を引数スタックにプッシュします |
トランザクションとロック
これらの関数は、標準の InterSystems IRIS トランザクション・コマンド (TSTART、TCOMMIT、および TROLLBACK) と LOCK コマンドを実行します。
トランザクション
以下の関数は、標準の InterSystems IRIS トランザクション・コマンドを実行します。
| IrisTCommit | TCommit コマンドを実行します。 |
| IrisTLevel | トランザクション処理に対する、現在の入れ子レベル ($TLEVEL) を返します。 |
| IrisTRollback | TRollback コマンドを実行します。 |
| IrisTStart | TStart コマンドを実行します。 |
ロック
これらの関数は、さまざまな形式で InterSystems IRIS LOCK コマンドを実行します。関数は、IrisAcquireLock 関数で使用する目的で引数スタックにロック名をプッシュするために用意されています。
| IrisAcquireLock | LOCK コマンドを実行します。 |
| IrisReleaseAllLocks | 引数なしの InterSystems IRIS LOCK コマンドを実行して、プロセスによって現在保持されているロックをすべて削除します。 |
| IrisReleaseLock | InterSystems IRIS LOCK — コマンドを実行して、指定したロック名のロック・カウントをデクリメントします。 |
| IrisPushLock[W][H] | ロック名を引数スタックにプッシュすることにより、IrisAcquireLock コマンドを初期化します。 |
| IrisPushLockX[W][H] | ロック名と環境文字列を引数スタックにプッシュすることにより、IrisAcquireLock コマンドを初期化します。 |
オブジェクトの管理
これらの関数は、Oref カウンタを操作し、メソッド呼び出しを実行して、プロパティ値の取得、または設定を行うために、InterSystems IRIS 内で呼び出されます。スタック関数は、Oref、メソッド参照、プロパティ名に対しても含まれています。
Orefs
| IrisCloseOref | OREF の参照カウンタをデクリメントします (InterSystems IRIS 内での呼び出し)。 |
| IrisIncrementCountOref | OREF の参照カウンタをインクリメントします |
| IrisPopOref | 引数スタックから OREF をポップ・オフします |
| IrisPushOref | OREF を引数スタックにプッシュします |
メソッド
| IrisInvokeMethod | インスタンス・メソッド呼び出しを実行します(InterSystems IRIS 内での呼び出し)。 |
| IrisPushMethod[W][H] | インスタンス・メソッド参照を引数スタックにプッシュします |
| IrisInvokeClassMethod | メソッド呼び出しを実行します(InterSystems IRIS 内での呼び出し)。 |
| IrisPushClassMethod[W][H] | クラス・メソッド参照を引数スタックにプッシュします |
プロパティ
| IrisGetProperty | プロパティの値を取得します(InterSystems IRIS 内での呼び出し)。 |
| IrisSetProperty | プロパティの値を格納します(InterSystems IRIS 内での呼び出し)。 |
| IrisPushProperty[W][H] | プロパティ名を引数スタックにプッシュします |
グローバルの管理
これらの関数は、InterSystems IRIS で呼び出され、グローバルを操作します。関数は、グローバルを引数スタックにプッシュするために用意されています。
| IrisGlobalGet | IrisPushGlobal[W][H] および任意の添え字で定義されたグローバル参照の値を取得します。このノード値は、引数スタックにプッシュされます。 |
| IrisGlobalGetBinary | IrisGlobalGet のようにグローバル参照の値を取得します。また、その結果がバイナリ文字列であり、指定されたバッファに収まるかどうかを確認するためにテストを実行します。 |
| IrisGlobalSet | グローバル参照の値を格納します。この呼び出しを行う前に、ノード値を引数スタックにプッシュしておく必要があります。 |
| IrisGlobalData | 指定したグローバルに対して $Data を実行します。 |
| IrisGlobalIncrement | $Increment を実行し、スタックの一番上の結果を返します。 |
| IrisGlobalKill | グローバル・ノードまたはツリーに対して ZKILL を実行します。 |
| IrisGlobalOrder | 指定したグローバルに対して $Order を実行します。 |
| IrisGlobalQuery | 指定したグローバルに対して $Query を実行します。 |
| IrisGlobalRelease | 保持されたグローバル・バッファの所有権 (存在する場合) を解放します。 |
| IrisPushGlobal[W][H] | グローバル名を引数スタックにプッシュします |
| IrisPushGlobalX[W][H] | 拡張グローバル名を引数スタックにプッシュします |
文字列の管理
これらの関数は文字列をある形式から別の形式に変換します。また、文字列引数のプッシュ、またはポップを行います。これらの文字列関数は、標準的な文字列および従来の短い文字列の両方で使用できます。ローカルの 8 ビット・エンコーディング、2 バイト Unicode、および 4 バイト Unicode 向きの関数が用意されています。
| IrisCvtExStrInA[W][H] | 指定の外部文字セット・エンコーディングを持つ文字列を、InterSystems IRIS で内部的に使用される文字列エンコーディングに変換します。 |
| IrisCvtExStrOutA[W][H] | InterSystems IRIS で内部的に使用される文字列エンコーディングからの文字列を、指定の外部文字セット・エンコーディングを持つ文字列に変換します。 |
| IrisExStrKill | 文字列に関連付けられているストレージを解放します。 |
| IrisExStrNew[W][H] | 文字列に対して要求されたストレージの容量を割り当て、EXSTR 構造に、構造の長さおよび構造の値フィールドへのポインタを埋め込みます。 |
| IrisPopExStr[W][H] | 引数スタックから値をポップ・オフし、必要なタイプの文字列に変換します。 |
| IrisPushExStr[W][H] | 文字列を引数スタックにプッシュします。 |
その他のデータ型の管理
以下の関数は、int、double、$list、または pointer などのデータ型の値を持つ引数をプッシュおよびポップして、ビット文字列内の指定されたビット値の位置を返すために使用されます。
| IrisPushInt | integer 型を引数スタックにプッシュします |
| IrisPopInt | 引数スタックから値をポップ・オフし、integer 型に変換します |
| IrisPushInt64 | 64 ビット (long long) 値を引数スタックにプッシュします |
| IrisPopInt64 | 引数スタックから値をポップ・オフし、64 ビット (long long) 値に変換します |
| IrisPushDbl | double 型を引数スタックにプッシュします |
| IrisPushIEEEDbl | IEEE の double 型を引数スタックにプッシュします |
| IrisPopDbl | 引数スタックから値をポップ・オフし、double 型に変換します。 |
| IrisPushList | $LIST オブジェクトを変換して、引数スタックにプッシュします。 |
| IrisPopList | 引数スタックから $LIST オブジェクトをポップ・オフして変換します。 |
| IrisPushPtr | ポインタ値を引数スタックにプッシュします。 |
| IrisPopPtr | 引数スタックからポインタ値をポップ・オフします。 |
| IrisPushUndef | 省略された関数引数として解釈される未定義値をプッシュします。 |
| IrisBitFind[B] | ビット文字列内の指定されたビット値の位置を返します。InterSystems IRIS $BITFIND と似ています。 |