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?

コールイン関数の使用法

ここでは、コールイン関数の概要を説明します。各関数の詳しい説明については、それぞれのリンクを参照してください。ここで説明するカテゴリは以下のとおりです。

  • プロセス・コントロール

    これらの関数は、コールイン・セッションを開始し、停止します。また、このセッションに関連する各種設定を制御します。

  • 関数とルーチン

    これらの関数は、関数呼び出し、またはルーチン呼び出しを実行します。スタック関数は、関数参照またはルーチン参照をプッシュするために用意されています。

  • トランザクションとロック

    これらの関数は、標準の Caché トランザクション・コマンド (TSTART、TCOMMIT、および TROLLBACK) と LOCK コマンドを実行します。

  • オブジェクトの管理

    これらの関数は、Oref カウンタを操作し、メソッド呼び出しを実行して、プロパティの取得、または設定を行います。スタック関数は、Oref、メソッド参照、プロパティ名に対しても含まれています。

  • グローバルの管理

    これらの関数は、Caché で呼び出され、グローバルを操作します。関数は、グローバルを引数スタックにプッシュするために用意されています。

  • 文字列の管理

    これらの関数は文字列をある形式から別の形式に変換します。また、文字列引数のプッシュ、またはポップを行います。

  • 単純なデータ型の管理

    これらのスタック関数は、int、double、$list、または pointer 値を持つ引数のプッシュとポップに使用されます。

この後のセクションでは、個々の関数について詳しく説明します。

プロセス・コントロール

これらの関数は、コールイン・セッションの開始と停止、セッションに関連する各種設定の制御、ObjectScript コマンドや式を実行するための高レベルのインタフェースを提供します。

セッション制御

これらの関数は、コールイン・セッションを開始し、停止します。また、このセッションに関連する各種設定を制御します。

セッション制御関数
CacheAbort Caché に現在の要求を終了するように命令します。
CacheChangePasswordA[W][H] Caché 認証が使用されている場合、ユーザのパスワードを変更します。コールイン・セッションが初期化される前に呼び出される必要があります。
CacheContext $ZF コールバック・セッションにあるか、コールイン呼び出しの Caché 側にあるか、またはユーザ・プログラム側にあるかを示す整数を返します。
CacheCtrl Caché が CTRL-C を無視するかどうかを決定します。
CacheEnd Caché セッションを終了し、必要であれば、切断された接続を削除します (Caché 内での呼び出し)。
CacheEndAll すべてのコールイン・スレッドを切断し、そのスレッドが終了するまで待機します。
CacheOflush 保留中の出力をすべてフラッシュします。
CachePromptA[W][H]

プログラマ・プロンプトである文字列を返します。

CacheSetDir 実行時に、マネージャのディレクトリ (CacheSys\Mgr) の名前を動的に設定します。Windows では、Caché の共有ライブラリ・バージョンでこの関数が必要です。
CacheSignal ユーザ・プログラムによって検出されるシグナルを処理するために Caché に報告します。OpenVMS では使用されていません。
CacheSecureStartA[W][H]

Caché プロセスを開始します。

CacheStartA[W][H] (お勧めしません。代わりに、CacheSecureStart を使用してください) Caché プロセスを開始します。

ObjectScript の実行

これらの関数は、ObjectScript コマンドや式の実行に使用される高レベルなインタフェースを提供します。

ObjectScript コマンド関数
CacheExecuteA[W][H]

ObjectScript コマンドを実行します(Caché 内での呼び出し)。

CacheEvalA[W][H]

ObjectScript 式を評価します(Caché 内での呼び出し)。

CacheConvert CacheEval によって返された Caché 式の値を返します。
CacheType CacheEval で返される項目のデータ型を返します。
CacheErrorA[W][H]

最新のエラー・メッセージ、関連するソース文字列、ソース文字列内でのエラーの発生箇所のオフセットを返します。

CacheErrxlateA[W][H]

コールイン関数から返されたエラー番号に関連する Caché エラー文字列を返します。

関数とルーチン

これらの関数は Caché で呼び出され、関数呼び出し、またはルーチン呼び出しを実行します。関数は、関数参照またはルーチン参照を引数スタックにプッシュするために用意されています。

関数呼び出しおよびルーチン呼び出しを実行する関数
CacheDoFun ルーチン呼び出しを実行します (特別な場合) (Caché 内での呼び出し)。
CacheDoRtn ルーチン呼び出しを実行します (Caché 内での呼び出し)。
CacheExtFun 外部関数呼び出しを実行します(Caché 内での呼び出し)。
CachePop 引数スタックから値をポップ・オフします。
CacheUnPop CachePop からスタック・エントリをリストアします。
CachePushFunc[W][H] 外部関数参照を引数スタックにプッシュします。
CachePushFuncX[W][H] 拡張関数参照を引数スタックにプッシュします
CachePushRtn[W][H] ルーチン参照を引数スタックにプッシュします
CachePushFuncX[W][H] 拡張ルーチン参照を引数スタックにプッシュします

トランザクションとロック

これらの関数は、標準の Caché トランザクション・コマンド (TSTART、TCOMMIT、および TROLLBACK) と LOCK コマンドを実行します。

トランザクション

以下の関数は、標準の Caché トランザクション・コマンドを実行します。

トランザクション関数
CacheTCommit CachéTCommit コマンドを実行します。
CacheTLevel トランザクション処理に対する、現在の入れ子レベル ($TLEVEL) を返します。
CacheTRollback CachéTRollback コマンドを実行します。
CacheTStart CachéTStart コマンドを実行します。

ロック

これらの関数は、さまざまな形式で Cache LOCK コマンドを実行します。関数は、CacheAcquireLock 関数で使用する目的で引数スタックにロック名をプッシュするために用意されています。

ロック関数
CacheAcquireLock CachéLOCK コマンドを実行します。
CacheReleaseAllLocks 引数なしの Cache LOCK コマンドを実行して、プロセスによって現在保持されているロックをすべて削除します。
CacheReleaseLock Cache LOCK — コマンドを実行して、指定したロック名のロック・カウントをデクリメントします。
CachePushLock[W][H] ロック名を引数スタックにプッシュすることにより、CacheAcquireLock コマンドを初期化します。
CachePushLockX[W][H] ロック名と環境文字列を引数スタックにプッシュすることにより、CacheAcquireLock コマンドを初期化します。

オブジェクトの管理

これらの関数は、Oref カウンタを操作し、メソッド呼び出しを実行して、プロパティの取得、または設定を行うために、Caché 内で呼び出されます。スタック関数は、Oref、メソッド参照、プロパティ名に対しても含まれています。

Orefs

Oref 関数
CacheCloseOref OREF の参照カウンタをデクリメントします (Caché 内での呼び出し)。
CacheIncrementCountOref OREF の参照カウンタをインクリメントします
CachePopOref 引数スタックから OREF をポップ・オフします
CachePushOref OREF を引数スタックにプッシュします

メソッド

メソッド関数
CacheInvokeMethod インスタンス・メソッド呼び出しを実行します(Caché 内での呼び出し)。
CachePushMethod[W][H] インスタンス・メソッド参照を引数スタックにプッシュします
CacheInvokeClassMethod メソッド呼び出しを実行します(Caché 内での呼び出し)。
CachePushClassMethod[W][H] クラス・メソッド参照を引数スタックにプッシュします

プロパティ

プロパティ関数
CacheGetProperty プロパティの値を取得します(Caché 内での呼び出し)。
CacheSetProperty プロパティの値を格納します(Caché 内での呼び出し)。
CachePushProperty[W][H] プロパティ名を引数スタックにプッシュします

グローバルの管理

これらの関数は、Caché で呼び出され、グローバルを操作します。関数は、グローバルを引数スタックにプッシュするために用意されています。

グローバルを管理するための関数
CacheGlobalGet CachePushGlobal[W][H] および任意の添え字で定義されたグローバル参照の値を取得します。このノード値は、引数スタックにプッシュされます。
CacheGlobalGetBinary CacheGlobalGet のようにグローバル参照の値を取得します。また、その結果がバイナリ文字列であり、指定されたバッファに収まるかどうかを確認するためにテストを実行します。
CacheGlobalSet グローバル参照の値を格納します。この呼び出しを行う前に、ノード値を引数スタックにプッシュしておく必要があります。
CacheGlobalData 指定したグローバルに対して $Data を実行します。
CacheGlobalIncrement $Increment を実行し、スタックの一番上の結果を返します。
CacheGlobalKill グローバル・ノードまたはツリーに対して ZKILL を実行します。
CacheGlobalOrder 指定したグローバルに対して $Order を実行します。
CacheGlobalQuery 指定したグローバルに対して $Query を実行します。
CacheGlobalRelease 保持されたグローバル・バッファの所有権 (存在する場合) を解放します。
CachePushGlobal[W][H] グローバル名を引数スタックにプッシュします
CachePushGlobalX[W][H] 拡張グローバル名を引数スタックにプッシュします

文字列の管理

これらの関数は文字列をある形式から別の形式に変換します。また、文字列引数のプッシュ、またはポップを行います。

長い文字列関数

Caché の長い文字列関数は、長い文字列および標準文字列の両方に対して使用できます。ローカルの 8 ビット・エンコーディング、2 バイト Unicode、および 4 バイト Unicode 向きの関数が用意されています。

長い文字列関数
CacheCvtExStrInA[W][H] 指定の外部文字セット・エンコーディングを持つ文字列を、Caché で内部的に使用される文字列エンコーディングに変換します。
CacheCvtExStrOutA[W][H] Caché で内部的に使用される文字列エンコーディングからの文字列を、指定の外部文字セット・エンコーディングを持つ文字列に変換します。
CacheExStrKill 長い文字列に関連付けられているストレージを解放します。
CacheExStrNew[W][H] 長い文字列に対して要求されたストレージの容量を割り当て、EXSTR 構造に、構造の長さおよび構造の値フィールドへのポインタを埋め込みます。
CachePopExStrCvtW[H] 引数スタックから文字列をポップ・オフし、Unicode 文字列に変換します。
CachePushExStrCvtW[H] Unicode 文字列をローカルの 8 ビット・エンコーディングに変換し、引数スタックにプッシュします。
CachePopExStr[W][H] 引数スタックから値をポップ・オフし、必要なタイプの文字列に変換します。
CachePushExStr[W][H] 文字列を引数スタックにプッシュします。

標準文字列関数

以下の関数は、標準 Caché 文字列 (上限は 32K) を処理します。ローカルの 8 ビット・エンコーディング、2 バイト Unicode、および 4 バイト Unicode 向きの関数が用意されています。

標準文字列関数
CacheCvtInA[W][H] 指定の外部文字セット・エンコーディングを持つ文字列を、Caché で内部的に使用される文字列エンコーディングに変換します。
CacheCvtOutA[W][H] Caché で内部的に使用される文字列エンコーディングからの文字列を、指定の外部文字セット・エンコーディングを持つ文字列に変換します。
CachePopStr[W][H] 引数スタックから値をポップ・オフし、必要なタイプの文字列に変換します。
CachePushStr[W][H] 文字列を引数スタックにプッシュします
CachePushCvtW[H] Unicode 文字列をローカルに変換し、引数スタックにプッシュします
CachePopCvtW[H] 引数スタックから値をポップ・オフし、必要な文字列タイプに変換します。

その他のデータ型の管理

以下の関数は、int、double、$list、または pointer などのデータ型の値を持つ引数をプッシュおよびポップして、ビット文字列内の指定されたビット値の位置を返すために使用されます。

その他のデータ型の関数
CachePushInt integer 型を引数スタックにプッシュします
CachePopInt 引数スタックから値をポップ・オフし、integer 型に変換します
CachePushInt64 64 ビット (long long) 値を引数スタックにプッシュします
CachePopInt64 引数スタックから値をポップ・オフし、64 ビット (long long) 値に変換します
CachePushDbl Caché の double 型を引数スタックにプッシュします
CachePushIEEEDbl IEEE の double 型を引数スタックにプッシュします
CachePopDbl 引数スタックから値をポップ・オフし、double 型に変換します。
CachePushList $LIST オブジェクトを変換して、引数スタックにプッシュします。
CachePopList 引数スタックから $LIST オブジェクトをポップ・オフして変換します。
CachePushPtr ポインタ値を引数スタックにプッシュします。
CachePopPtr 引数スタックからポインタ値をポップ・オフします。
CachePushUndef 省略された関数引数として解釈される未定義値をプッシュします。
CacheBitFind[B] ビット文字列内の指定されたビット値の位置を返します。Caché$BITFIND と似ています。
FeedbackOpens in a new tab