コールイン関数の使用法
ここでは、コールイン関数の概要を説明します。各関数の詳しい説明については、それぞれのリンクを参照してください。ここで説明するカテゴリは以下のとおりです。
-
これらの関数は、コールイン・セッションを開始し、停止します。また、このセッションに関連する各種設定を制御します。
-
これらの関数は、関数呼び出し、またはルーチン呼び出しを実行します。スタック関数は、関数参照またはルーチン参照をプッシュするために用意されています。
-
これらの関数は、標準の 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 コマンドや式の実行に使用される高レベルなインタフェースを提供します。
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
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 と似ています。 |