コールイン関数リファレンス
このリファレンスの章では、すべての InterSystems コールイン関数をアルファベット順に挙げて、詳しく説明します。機能別のコールイン関数の概要については、"コールイン関数の使用法" を参照してください。
Note:
文字列を操作する InterSystems コールイン関数には、8 ビット・バージョンと Unicode バージョンの両方があります。これらの関数は、処理する文字列のタイプを示すために接尾語を使用します。
いくつかのバージョンがある関数であっても、ここではわかりやすいように各関数の説明でまとめて扱っています。例えば、IrisEvalA[W][H]、IrisPopExStr[W][H] のように記載しています。
アルファベット順の関数リスト
ここでは、すべてのコールイン関数をアルファベット順に挙げ、各関数の簡単な説明と詳細な説明へのリンクを示します。
IrisAbort
int IrisAbort(unsigned long type)
引数
type |
接続の切断方法を指定する次の事前定義値のどちらかになります。
-
IRIS_CTRLC — (CTRL-C が IrisCtrl で有効になっているかどうかに関係なく) CTRL-C が処理されたかのように、InterSystems IRIS の処理に割り込みます。InterSystems IRIS への接続は維持されます。
-
IRIS_RESJOB — コールイン接続を切断します。その後、最初に IrisEnd、次に IrisStart を呼び出し、InterSystems IRIS に再接続する必要があります。
|
説明
必要に応じて、InterSystems IRIS 側で処理中の現在の要求をキャンセルするように InterSystems IRIS に命令します。この関数は、AST (非同期システム・トラップ)、またはコールイン側で実行されているスレッドで重大なイベントが検知された場合に使用します (現在、処理中の InterSystems IRIS 要求があるかどうかを判断するには、IrisContext を使用します)。ただし、これは AST または独立したスレッドを使用するコールイン・プログラムにのみ当てはまります。
IrisAbort の返り値
IRIS_BADARG |
終了タイプは無効です。 |
IRIS_CONBROKEN |
接続は切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_NOTINCACHE |
現在コールイン・パートナーが InterSystems IRIS に存在しません。 |
IRIS_SUCCESS |
接続が確立されました。 |
例
rc = IrisAbort(IRIS_CTRLC);
IrisAcquireLock
int IrisAcquireLock(int nsub, int flg, int tout, int * rval)
引数
nsub |
ロック参照にある添え字の数。 |
flg |
ロック・コマンドの修飾語。有効な値は、IRIS_INCREMENTAL_LOCK と IRIS_SHARED_LOCK のいずれか、または両方です。 |
tout |
ロック・コマンドが完了するのを待機する時間 (秒)。タイムアウトを指定しない場合、マイナスの値。0 は、ロックが利用できない場合に即座に返すという意味です。ただし、ロックがリモート・システムにマップされている場合には最小のタイムアウトが適用される場合があります。 |
rval |
成功を 1、失敗を 0 で示す int 返り値への、オプションのポインタ。 |
説明
InterSystems IRIS LOCK コマンドを実行します。ロック参照は、IrisPushLock で設定済みである必要があります。
IrisAcquireLock の返り値
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_SUCCESS |
LOCK コマンドを正常に呼び出しました (ただし、rval パラメータを調べて、ロックが成功したかどうかを判断する必要があります)。 |
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IrisBitFind
int IrisBitFind(int strlen, unsigned short *bitstr, int newlen, int srch, int revflg)
引数
strlen |
ビット文字列のデータ長。 |
bitstr |
Unicode ビット文字列へのポインタ。 |
newlen |
文字列の最初から検索を開始する場合は 0 を指定し、それ以外は 1 から始まる開始位置を指定します。 |
srch |
ビット文字列内を検索するビット値 (0 または 1)。 |
revflg |
検索の方向を指定します。
1 — newlen で指定された位置から順方向 (左から右) に検索します。
0 — newlen で指定された位置から逆方向に検索します。 |
説明
ビット文字列 bitstr 内の srch で指定された値を持つビットの次のビット位置 (先頭は 1) を返します。検索の方向は revflg で指定します。指定された方向に指定された値のビットがそれ以上見つからない場合は 0 が返されます。
この関数は、InterSystems IRIS $BITFIND に類似しています (“ビット文字列関数の概要” も参照してください)。
IrisBitFind の返り値
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisBitFindB
int IrisBitFindB(int strlen, unsigned char *bitstr, int newlen, int srch, int revflg)
引数
strlen |
ビット文字列のデータ長。 |
bitstr |
ビット文字列へのポインタ。 |
newlen |
文字列の最初から検索を開始する場合は 0 を指定し、それ以外は 1 から始まる開始位置を指定します。 |
srch |
ビット文字列内を検索するビット値 (0 または 1)。 |
revflg |
検索の方向を指定します。
1 — newlen で指定された位置から順方向 (左から右) に検索します。
0 — newlen で指定された位置から逆方向に検索します。 |
説明
ビット文字列 bitstr 内の srch で指定された値を持つビットの次のビット位置 (先頭は 1) を返します。検索の方向は revflg で指定します。指定された方向に指定された値のビットがそれ以上見つからない場合は 0 が返されます。
この関数は、InterSystems IRIS $BITFIND に類似しています (“ビット文字列関数の概要” も参照してください)。
IrisBitFindB の返り値
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisCallExecuteFunc
int IrisCallExecuteFunc(int numargs)
引数
numargs |
スタックにプッシュされた引数の数。 |
説明
引数を指定して $Xecute() 関数を呼び出します。この関数のコマンド文字列を IrisPushExecuteFuncA[W][H] で引数スタックにプッシュした後、引数をプッシュする必要があります。引数の数は 0 に設定できます。関数の結果は、引数スタック上に残ります。
IrisCallExecuteFunc の戻り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_BADARG |
呼び出し引数が不正です。 |
IRIS_STRTOOLONG |
文字列が長すぎます。 |
IRIS_ERPARAMETER |
Xecute 文字列は引数を予期していません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IrisChangePasswordA
バリアント : IrisChangePasswordW、 IrisChangePasswordH
int IrisChangePasswordA(IRIS_ASTRP username, IRIS_ASTRP oldpassword, IRIS_ASTRP newpassword)
引数
username |
変更が必要なパスワードを使用しているユーザのユーザ名。 |
oldpassword |
ユーザの古いパスワード。 |
newpassword |
新しいパスワード。 |
説明
この関数は、InterSystems 認証または代行認証が使用されている場合、ユーザのパスワードを変更できます。LDAP、Kerberos、またはその他の形式の認証では有効ではありません。コールイン・セッションが初期化される前に呼び出される必要があります。典型的な使用法は、IrisSecureStart からの IRIS_CHANGEPASSWORD エラーを処理することです。この場合、パスワードを変更するために IrisChangePassword が呼び出され、それから IrisSecureStart が再度呼び出されます。
IrisChangePasswordA の返り値
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_SUCCESS |
パスワードが変更されました。 |
IrisChangePasswordH
バリアント : IrisChangePasswordA、 IrisChangePasswordW
int IrisChangePasswordH(IRISHSTRP username, IRISHSTRP oldpassword, IRISHSTRP newpassword)
引数
username |
変更が必要なパスワードを使用しているユーザのユーザ名。 |
oldpassword |
ユーザの古いパスワード。 |
newpassword |
新しいパスワード。 |
説明
この関数は、InterSystems 認証または代行認証が使用されている場合、ユーザのパスワードを変更できます。LDAP、Kerberos、またはその他の形式の認証では有効ではありません。コールイン・セッションが初期化される前に呼び出される必要があります。典型的な使用法は、IrisSecureStart からの IRIS_CHANGEPASSWORD エラーを処理することです。この場合、パスワードを変更するために IrisChangePassword が呼び出され、それから IrisSecureStart が再度呼び出されます。
IrisChangePasswordH の返り値
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_SUCCESS |
パスワードが変更されました。 |
IrisChangePasswordW
バリアント : IrisChangePasswordA、 IrisChangePasswordH
int IrisChangePasswordW(IRISWSTRP username, IRISWSTRP oldpassword, IRISWSTRP newpassword)
引数
username |
変更が必要なパスワードを使用しているユーザのユーザ名。 |
oldpassword |
ユーザの古いパスワード。 |
newpassword |
新しいパスワード。 |
説明
この関数は、InterSystems 認証または代行認証が使用されている場合、ユーザのパスワードを変更できます。LDAP、Kerberos、またはその他の形式の認証では有効ではありません。コールイン・セッションが初期化される前に呼び出される必要があります。典型的な使用法は、IrisSecureStart からの IRIS_CHANGEPASSWORD エラーを処理することです。この場合、パスワードを変更するために IrisChangePassword が呼び出され、それから IrisSecureStart が再度呼び出されます。
IrisChangePasswordW の返り値
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_SUCCESS |
パスワードが変更されました。 |
IrisCloseOref
int IrisCloseOref(unsigned int oref)
引数
説明
OREF に対するシステム参照カウンタをデクリメントします。
IrisCloseOref の返り値
IRIS_ERBADOREF |
OREF が不正です。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisContext
int IrisContext()
説明
関数値として整数を返します。
($ZF 関数から呼び出されたモジュールとは対照的に) 外部コールイン・プログラムを使用していて、このプログラムが AST または独立したスレッドを使用している場合、IrisContext は、接続の InterSystems IRIS 側に現在処理中の要求が存在するかどうかを返します。これは、処理を完了させるには、InterSystems IRIS に戻る必要があるかどうかを判断するために必要な情報です。
IrisContext の返り値
-1 |
$ZF コールバック経由で InterSystems IRIS に作成されました。 |
0 |
現在、接続がありません。あるいは、InterSystems IRIS に入っていません。 |
1 |
外部接続 (例えば、$ZF ではない接続) から InterSystems IRIS に入りました。終了ハンドラなどの AST (非同期システム・トラップ) は、処理を完了できるように InterSystems IRIS に返す必要があります。 |
Note:
$ZF 関数にプログラムと AST のどちらから入ったかという情報が必要なのは、AST からの場合、処理を完了させるには InterSystems IRIS に戻る必要があるからです。
例
rc = IrisContext();
IrisConvert
int IrisConvert(unsigned long type, void * rbuf)
引数
type |
#define で定義された型。以下の有効な値を持ちます。 |
rbuf |
このデータ型に適したサイズのデータ領域のアドレス。型が IRIS_ASTRING の場合、rbuf は、結果を含む IRIS_ASTR 構造のアドレスになります。また、この構造の len 要素には、返される文字列の最大サイズ (文字数) を表す値を入力する必要があります。同様に、型が IRIS_WSTRING である場合、rbuf は、IRISWSTR 構造のアドレスになります。この構造の len 要素には、最大サイズ (文字数) を表す値を入力する必要があります。 |
説明
IrisEval で返された値を適切な形式に変換し、その返り値 (以下の rbuf を参照) を指定されたアドレスに置きます。
有効な type の値は以下のとおりです。
-
IRIS_ASTRING — 8 ビット文字列
-
IRIS_CHAR — 8 ビット符号付整数
-
IRIS_DOUBLE — 64 ビット浮動小数点
-
IRIS_FLOAT — 32 ビット浮動小数点
-
IRIS_INT — 32 ビット符号付整数
-
IRIS_INT2 — 16 ビット符号付整数
-
IRIS_INT4 — 32 ビット符号付整数
-
IRIS_INT8 — 64 ビット符号付整数
-
IRIS_UCHAR — 8 ビット符号なし整数
-
IRIS_UNIT — 32 ビット符号なし整数
-
IRIS_UNIT2 — 16 ビット符号なし整数
-
IRIS_UNIT4 — 32 ビット符号なし整数
-
IRIS_UNIT8 — 64 ビット符号なし整数
-
IRIS_WSTRING — Unicode 文字列
IrisConvert の返り値
IRIS_BADARG |
型が無効です。 |
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERSYSTEM |
ObjectScript が <SYSTEM> エラーを生成した場合または $ZF 関数から呼び出された場合は、内部カウンタが同期していない可能性があります。 |
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_NORES |
返すことができるタイプを持つ結果がありません (この呼び出しの前に、IrisEvalA が呼び出されていません)。 |
IRIS_RETTRUNC |
成功しました。しかし、タイプ IRIS_ASTRING、IRIS_INT8、IRIS_UINT8、および IRIS_WSTRING は、retval に割り当てられた領域に収まらない値になりました。つまり、IRIS_INT8 と IRIS_UINT8 に対し、式の浮動小数点数が、64 ビットに適応するように正規化されなかったことを意味します。 |
IRIS_STRTOOLONG |
文字列が長すぎます。 |
IRIS_SUCCESS |
最後の IrisEval で返された値は、適切に変換されました。 |
Note:
InterSystems IRIS は、(負の指数を含む) 小数部を持つ浮動小数点タイプ IRIS_FLOAT と IRIS_DOUBLE、および 64 ビット整数タイプ (IRIS_INT8 と IRIS_UINT8) の返り値の算出時、除算を実行します。したがって、元の値とは異なる値が返される可能性があります。IRIS_ASTRING、IRIS_INT8、IRIS_UINT8、および IRIS_WSTRING は、状態 IRIS_RETTRUNC を返すことができます。
例
IRIS_ASTR retval;
/* define variable retval */
retval.len = 20;
/* maximum return length of string */
rc = IrisConvert(IRIS_ASTRING,&retval);
IrisCtrl
int IrisCtrl(unsigned long flags)
引数
flags |
特定のキーストロークが、InterSystems IRIS でどのように処理されるかを表す 2 種類の #define 値のどちらかになります。 |
説明
InterSystems IRIS が CTRL-C を無視するかどうかを決定します。flags は、以下に関するビット状態値を持つことができます。
IrisCtrl の返り値
IRIS_FAILURE |
(コールイン実行可能プログラムの内部からではなく) $ZF 関数から呼び出された場合に返されます。 |
IRIS_SUCCESS |
制御関数が実行されました。 |
例
rc = IrisCtrl(IRIS_ENABCTRLC);
IrisCvtExStrInA
バリアント : IrisCvtExStrInW、 IrisCvtExStrInH
int IrisCvtExStrInA(IRIS_EXSTRP src, IRIS_ASTRP tbl, IRIS_EXSTRP res)
引数
src |
変換する文字列を含む IRIS_EXSTRP 変数のアドレスです。 |
tbl |
変換を実行するために使用する入出力変換テーブル名です (NULL 文字列の場合、既定処理で入出力変換テーブル名を使用する必要があることを示します)。 |
res |
結果を含む IRIS_EXSTRP 変数のアドレスです。 |
説明
指定の外部文字セット・エンコーディングを持つ文字列を、内部的に使用されるローカルの 8 ビット文字列エンコーディングに変換します。
IrisCvtExStrInA の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERRUNIMPLEMENTED |
Unicode では使用できません。 |
IRIS_ERVALUE |
指定の入出力変換テーブル名は未定義であるか、あるいは入力コンポーネントがありませんでした。 |
IRIS_ERXLATE |
入力文字列は、指定の入出力変換テーブルを使用して変換できませんでした。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTRUNC |
結果用のバッファが小さすぎたため、結果が切り捨てられました。 |
IRIS_FAILURE |
変換データ構造の構築中にエラーが発生しました (パーティション・メモリ不足の場合があります)。 |
IRIS_SUCCESS |
変換が正常に完了しました。 |
IrisCvtExStrInW
バリアント : IrisCvtExStrInA、 IrisCvtExStrInH
int IrisCvtExStrInW(IRIS_EXSTRP src, IRISWSTRP tbl, IRIS_EXSTRP res)
引数
src |
変換する文字列を含む IRIS_EXSTRP 変数のアドレスです。 |
tbl |
変換を実行するために使用する入出力変換テーブル名です (NULL 文字列の場合、既定処理で入出力変換テーブル名を使用する必要があることを示します)。 |
res |
結果を含む IRIS_EXSTRP 変数のアドレスです。 |
説明
指定の外部文字セット・エンコーディングを持つ文字列を、InterSystems IRIS で内部的に使用される 2 バイトの Unicode 文字列エンコーディングに変換します。
IrisCvtExStrInW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERRUNIMPLEMENTED |
8 ビット・システムでは使用できません。 |
IRIS_ERVALUE |
指定の入出力変換テーブル名は未定義であるか、あるいは入力コンポーネントがありませんでした。 |
IRIS_ERXLATE |
入力文字列は、指定の入出力変換テーブルを使用して変換できませんでした。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTRUNC |
結果用のバッファが小さすぎたため、結果が切り捨てられました。 |
IRIS_FAILURE |
変換データ構造の構築中にエラーが発生しました (パーティション・メモリ不足の場合があります)。 |
IRIS_SUCCESS |
変換が正常に完了しました。 |
IrisCvtExStrInH
バリアント : IrisCvtExStrInA、 IrisCvtExStrInW
int IrisCvtExStrInH(IRIS_EXSTRP src, IRISWSTRP tbl, IRIS_EXSTRP res)
引数
src |
変換する文字列を含む IRIS_EXSTRP 変数のアドレスです。 |
tbl |
変換を実行するために使用する入出力変換テーブル名です (NULL 文字列の場合、既定処理で入出力変換テーブル名を使用する必要があることを示します)。 |
res |
結果を含む IRIS_EXSTRP 変数のアドレスです。 |
説明
指定の外部文字セット・エンコーディングを持つ文字列を、InterSystems IRIS で内部的に使用される 4 バイトの Unicode 文字列エンコーディングに変換します。
IrisCvtExStrInH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERRUNIMPLEMENTED |
8 ビット・システムでは使用できません。 |
IRIS_ERVALUE |
指定の入出力変換テーブル名は未定義であるか、あるいは入力コンポーネントがありませんでした。 |
IRIS_ERXLATE |
入力文字列は、指定の入出力変換テーブルを使用して変換できませんでした。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTRUNC |
結果用のバッファが小さすぎたため、結果が切り捨てられました。 |
IRIS_FAILURE |
変換データ構造の構築中にエラーが発生しました (パーティション・メモリ不足の場合があります)。 |
IRIS_SUCCESS |
変換が正常に完了しました。 |
IrisCvtExStrOutA
バリアント : IrisCvtExStrOutW、 IrisCvtExStrOutH
int IrisCvtExStrOutA(IRIS_EXSTRP src, IRIS_ASTRP tbl, IRIS_EXSTRP res)
引数
src |
変換する文字列を含む IRIS_EXSTRP 変数のアドレスです。 |
tbl |
変換を実行するために使用する入出力変換テーブル名です (NULL 文字列の場合、既定処理で入出力変換テーブル名を使用する必要があることを示します)。 |
res |
結果を含む IRIS_EXSTRP 変数のアドレスです。 |
説明
従来の InterSystems の 8 ビット製品で内部的に使用される 8 ビット文字列エンコーディングからの文字列を、指定の外部文字セット・エンコーディングを持つ文字列に変換します。
IrisCvtExStrOutA の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERRUNIMPLEMENTED |
Unicode では使用できません。 |
IRIS_ERVALUE |
指定の入出力変換テーブル名は未定義であるか、あるいは入力コンポーネントがありませんでした。 |
IRIS_ERXLATE |
入力文字列は、指定の入出力変換テーブルを使用して変換できませんでした。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTRUNC |
結果用のバッファが小さすぎたため、結果が切り捨てられました。 |
IRIS_FAILURE |
変換データ構造の構築中にエラーが発生しました (パーティション・メモリ不足の場合があります)。 |
IRIS_SUCCESS |
変換が正常に完了しました。 |
IrisCvtExStrOutW
バリアント : IrisCvtExStrOutA、 IrisCvtExStrOutH
int IrisCvtExStrOutW(IRIS_EXSTRP src, IRISWSTRP tbl, IRIS_EXSTRP res)
引数
src |
変換する文字列を含む IRIS_EXSTRP 変数のアドレスです。 |
tbl |
変換を実行するために使用する入出力変換テーブル名です (NULL 文字列の場合、既定処理で入出力変換テーブル名を使用する必要があることを示します)。 |
res |
結果を含む IRIS_EXSTRP 変数のアドレスです。 |
説明
InterSystems IRIS で内部的に使用される 2 バイトの Unicode 文字列エンコーディングからの文字列を、指定の外部文字セット・エンコーディングを持つ文字列に変換します。
IrisCvtExStrOutW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERRUNIMPLEMENTED |
8 ビット・システムでは使用できません。 |
IRIS_ERVALUE |
指定の入出力変換テーブル名は未定義であるか、あるいは入力コンポーネントがありませんでした。 |
IRIS_ERXLATE |
入力文字列は、指定の入出力変換テーブルを使用して変換できませんでした。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTRUNC |
結果用のバッファが小さすぎたため、結果が切り捨てられました。 |
IRIS_FAILURE |
変換データ構造の構築中にエラーが発生しました (パーティション・メモリ不足の場合があります)。 |
IRIS_SUCCESS |
変換が正常に完了しました。 |
IrisCvtExStrOutH
バリアント : IrisCvtExStrOutA、 IrisCvtExStrOutW
int IrisCvtExStrOutH(IRIS_EXSTRP src, IRISWSTRP tbl, IRIS_EXSTRP res)
引数
src |
変換する文字列を含む IRIS_EXSTRP 変数のアドレスです。 |
tbl |
変換を実行するために使用する入出力変換テーブル名です (NULL 文字列の場合、既定処理で入出力変換テーブル名を使用する必要があることを示します)。 |
res |
結果を含む IRIS_EXSTRP 変数のアドレスです。 |
説明
InterSystems IRIS で内部的に使用される 4 バイトの Unicode 文字列エンコーディングからの文字列を、指定の外部文字セット・エンコーディングを持つ文字列に変換します。
IrisCvtExStrOutH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERRUNIMPLEMENTED |
8 ビット・システムでは使用できません。 |
IRIS_ERVALUE |
指定の入出力変換テーブル名は未定義であるか、あるいは入力コンポーネントがありませんでした。 |
IRIS_ERXLATE |
入力文字列は、指定の入出力変換テーブルを使用して変換できませんでした。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTRUNC |
結果用のバッファが小さすぎたため、結果が切り捨てられました。 |
IRIS_FAILURE |
変換データ構造の構築中にエラーが発生しました (パーティション・メモリ不足の場合があります)。 |
IRIS_SUCCESS |
変換が正常に完了しました。 |
IrisCvtInA
バリアント : IrisCvtInW、 IrisCvtInH
int IrisCvtInA(IRIS_ASTRP src, IRIS_ASTRP tbl, IRIS_ASTRP res)
引数
src |
変換される外部文字セット・エンコーディングの文字列 (計算文字列バッファを使用して記述されます)。この文字列は初期化する必要があります。例えば、値を、出力として期待される最大文字数を表す空白の数に設定します。 |
tbl |
変換を実行するために使用する入出力変換テーブル名です (NULL 文字列の場合、既定処理で入出力変換テーブル名を使用する必要があることを示します)。 |
res |
8 ビットの計算文字列の結果を含む IRIS_ASTR 変数のアドレスです。 |
説明
指定の外部文字セット・エンコーディングを持つ文字列を、8 ビット・バージョンの InterSystems IRIS でのみ内部的に使用されるローカルの 8 ビット文字列エンコーディングに変換します。
IrisCvtInA の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERRUNIMPLEMENTED |
Unicode では使用できません。 |
IRIS_ERVALUE |
指定の入出力変換テーブル名は未定義であるか、あるいは入力コンポーネントがありませんでした。 |
IRIS_ERXLATE |
入力文字列は、指定の入出力変換テーブルを使用して変換できませんでした。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTRUNC |
結果用のバッファが小さすぎたため、結果が切り捨てられました。 |
IRIS_FAILURE |
変換データ構造の構築中にエラーが発生しました (パーティション・メモリ不足の場合があります)。 |
IRIS_SUCCESS |
変換が正常に完了しました。 |
IrisCvtInW
バリアント : IrisCvtInA、 IrisCvtInH
int IrisCvtInW(IRIS_ASTRP src, IRISWSTRP tbl, IRISWSTRP res)
引数
src |
変換される外部文字セット・エンコーディングの文字列 (Unicode 文字列を格納するために必要なバイト数を使用して記述されます)。 |
tbl |
変換を実行するために使用する入出力変換テーブル名です (NULL 文字列の場合、既定処理で入出力変換テーブル名を使用する必要があることを示します)。 |
res |
Unicode の計算文字列の結果を含む IRISWSTR 変数のアドレスです。 |
説明
指定の外部文字セット・エンコーディングを持つ文字列を、Unicode バージョンの InterSystems IRIS で内部的に使用される Unicode 文字列エンコーディングに変換します。
IrisCvtInW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERRUNIMPLEMENTED |
8 ビット・システムでは使用できません。 |
IRIS_ERVALUE |
指定の入出力変換テーブル名は未定義であるか、あるいは入力コンポーネントがありませんでした。 |
IRIS_ERXLATE |
入力文字列は、指定の入出力変換テーブルを使用して変換できませんでした。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTRUNC |
結果用のバッファが小さすぎたため、結果が切り捨てられました。 |
IRIS_FAILURE |
変換データ構造の構築中にエラーが発生しました (パーティション・メモリ不足の場合があります)。 |
IRIS_SUCCESS |
変換が正常に完了しました。 |
IrisCvtInH
バリアント : IrisCvtInA、 IrisCvtInW
int IrisCvtInH(IRIS_ASTRP src, IRISHSTRP tbl, IRISHSTRP res)
引数
src |
変換される外部文字セット・エンコーディングの文字列 (Unicode 文字列を格納するために必要なバイト数を使用して記述されます)。 |
tbl |
変換を実行するために使用する入出力変換テーブル名です (NULL 文字列の場合、既定処理で入出力変換テーブル名を使用する必要があることを示します)。 |
res |
Unicode の計算文字列の結果を含む IRISHSTRP 変数のアドレスです。 |
説明
指定の外部文字セット・エンコーディングを持つ文字列を、Unicode バージョンの InterSystems IRIS で内部的に使用される Unicode 文字列エンコーディングに変換します。
IrisCvtInH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERRUNIMPLEMENTED |
8 ビット・システムでは使用できません。 |
IRIS_ERVALUE |
指定の入出力変換テーブル名は未定義であるか、あるいは入力コンポーネントがありませんでした。 |
IRIS_ERXLATE |
入力文字列は、指定の入出力変換テーブルを使用して変換できませんでした。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTRUNC |
結果用のバッファが小さすぎたため、結果が切り捨てられました。 |
IRIS_FAILURE |
変換データ構造の構築中にエラーが発生しました (パーティション・メモリ不足の場合があります)。 |
IRIS_SUCCESS |
変換が正常に完了しました。 |
IrisCvtOutA
バリアント : IrisCvtOutW、 IrisCvtOutH
int IrisCvtOutA(IRIS_ASTRP src, IRIS_ASTRP tbl, IRIS_ASTRP res)
引数
src |
InterSystems IRIS の 8 ビット製品で内部的に使用されるローカルの 8 ビット文字列エンコーディングの文字列 (NULL ポインタが渡される場合、InterSystems IRIS は IrisEvalA または IrisEvalW への前回の呼び出しの結果を使用します)。 |
tbl |
変換を実行するために使用する入出力変換テーブル名です (NULL 文字列の場合、既定処理で入出力変換テーブル名を使用する必要があることを示します)。 |
res |
ターゲットの外部文字セット・エンコーディングの結果を含む IRIS_ASTR 変数のアドレス (8 ビットの計算文字列バッファを使用して記述されます)。 |
説明
InterSystems IRIS の 8 ビット製品で内部的に使用されるローカルの 8 ビット文字列エンコーディングからの文字列を、指定の外部文字セット・エンコーディングを持つ文字列に変換します (これは、8 ビット・バージョンの InterSystems IRIS でのみ使用できます)。
IrisCvtOutA の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERRUNIMPLEMENTED |
Unicode では使用できません。 |
IRIS_ERVALUE |
指定の入出力変換テーブル名は未定義であるか、あるいは入力コンポーネントがありませんでした。 |
IRIS_ERXLATE |
入力文字列は、指定の入出力変換テーブルを使用して変換できませんでした。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTRUNC |
結果用のバッファが小さすぎたため、結果が切り捨てられました。 |
IRIS_FAILURE |
変換データ構造の構築中にエラーが発生しました (パーティション・メモリ不足の場合があります)。 |
IRIS_SUCCESS |
変換が正常に完了しました。 |
IrisCvtOutW
バリアント : IrisCvtOutA、 IrisCvtOutH
int IrisCvtOutW(IRISWSTRP src, IRISWSTRP tbl, IRIS_ASTRP res)
引数
src |
InterSystems IRIS の Unicode 製品で内部的に使用される Unicode 文字列エンコーディングの文字列 (NULL ポインタが渡される場合、InterSystems IRIS は IrisEvalA または IrisEvalW への前回の呼び出しの結果を使用します)。 |
tbl |
変換を実行するために使用する入出力変換テーブル名です (NULL 文字列の場合、既定処理で入出力変換テーブル名を使用する必要があることを示します)。 |
res |
ターゲットの外部文字セット・エンコーディングの結果を含む IRIS_ASTR 変数のアドレス (8 ビットの計算文字列バッファを使用して記述されます)。 |
説明
Unicode バージョンの InterSystems IRIS で内部的に使用される Unicode 文字列エンコーディングからの文字列を、指定の外部文字セット・エンコーディングを持つ文字列に変換します (これは、Unicode バージョンの InterSystems IRIS でのみ使用できます)。
IrisCvtOutW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERRUNIMPLEMENTED |
8 ビット・システムでは使用できません。 |
IRIS_ERVALUE |
指定の入出力変換テーブル名は未定義であるか、あるいは入力コンポーネントがありませんでした。 |
IRIS_ERXLATE |
入力文字列は、指定の入出力変換テーブルを使用して変換できませんでした。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTRUNC |
結果用のバッファが小さすぎたため、結果が切り捨てられました。 |
IRIS_FAILURE |
変換データ構造の構築中にエラーが発生しました (パーティション・メモリ不足の場合があります)。 |
IRIS_SUCCESS |
変換が正常に完了しました。 |
IrisCvtOutH
バリアント : IrisCvtOutA、 IrisCvtOutW
int IrisCvtOutH(IRISHSTRP src, IRISHSTRP tbl, IRIS_ASTRP res)
引数
src |
InterSystems IRIS の Unicode 製品で内部的に使用される Unicode 文字列エンコーディングの文字列 (NULL ポインタが渡される場合、InterSystems IRIS は IrisEvalA または IrisEvalW への前回の呼び出しの結果を使用します)。 |
tbl |
変換を実行するために使用する入出力変換テーブル名です (NULL 文字列の場合、既定処理で入出力変換テーブル名を使用する必要があることを示します)。 |
res |
ターゲットの外部文字セット・エンコーディングの結果を含む IRIS_ASTR 変数のアドレス (8 ビットの計算文字列バッファを使用して記述されます)。 |
説明
Unicode バージョンの InterSystems IRIS で内部的に使用される Unicode 文字列エンコーディングからの文字列を、指定の外部文字セット・エンコーディングを持つ文字列に変換します (これは、Unicode バージョンの InterSystems IRIS でのみ使用できます)。
IrisCvtOutH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_ERRUNIMPLEMENTED |
8 ビット・システムでは使用できません。 |
IRIS_ERVALUE |
指定の入出力変換テーブル名は未定義であるか、あるいは入力コンポーネントがありませんでした。 |
IRIS_ERXLATE |
入力文字列は、指定の入出力変換テーブルを使用して変換できませんでした。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTRUNC |
結果用のバッファが小さすぎたため、結果が切り捨てられました。 |
IRIS_FAILURE |
変換データ構造の構築中にエラーが発生しました (パーティション・メモリ不足の場合があります)。 |
IRIS_SUCCESS |
変換が正常に完了しました。 |
IrisDoFun
int IrisDoFun(unsigned int flags, int narg)
引数
flags |
IrisPushRtn[XW] からのルーチン・フラグ。 |
narg |
引数スタックにプッシュされた呼び出し引数の数。ターゲットには、(できるだけ空の) 仮パラメータ・リストが必要です。 |
説明
ルーチン呼び出しを実行します (特殊な場合)。
IrisDoFun の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_FAILURE |
内部的な整合性にエラーがあります。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisDoRtn
int IrisDoRtn(unsigned int flags, int narg)
引数
flags |
IrisPushRtn[XW] からのルーチン・フラグ。 |
narg |
引数スタックにプッシュされた呼び出し引数の数。0 の場合、ターゲットは仮パラメータ・リストを持つことができません。 |
説明
ルーチン呼び出しを実行します。
IrisDoRtn の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_FAILURE |
内部的な整合性にエラーがあります。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisEnd
int IrisEnd()
説明
InterSystems IRIS プロセスを終了します。切断された接続が存在する場合は、削除操作も行います。
IrisEnd の返り値
IRIS_FAILURE |
(コールイン実行可能プログラムの内部からではなく) $ZF 関数から呼び出された場合に返されます。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_SUCCESS |
InterSystems IRIS セッションが終了、あるいは削除されました。 |
IrisEnd は、任意の InterSystems IRIS エラー・コードを返すこともできます。
例
rc = IrisEnd();
IrisEndAll
int IrisEndAll()
説明
スレッド・コールイン環境のすべてのスレッドを切断してから、スレッドが終了するようにスケジュールし、それらのスレッドが終了するまで待機します。
IrisEndAll の返り値
IRIS_SUCCESS |
InterSystems IRIS セッションが終了、あるいは削除されました。 |
例
rc = IrisEndAll();
IrisErrorA
バリアント : IrisErrorW、 IrisErrorH
int IrisErrorA(IRIS_ASTRP msg, IRIS_ASTRP src, int * offp)
引数
msg |
エラー・メッセージ、またはエラー・メッセージを受信する変数のアドレス。 |
src |
エラーのソース文字列、またはエラー・メッセージのソース文字列を受信する変数のアドレス。 |
offp |
errsrc の位置に対するオフセットを指定する整数、またはエラー・メッセージのソース文字列に対するオフセットを受信する整数のアドレス。 |
説明
最新のエラー・メッセージ、それに関連付けられたソース文字列、およびそのソース文字列の中でエラーが発生した箇所までのオフセットを返します。
IrisErrorA の返り値
IRIS_CONBROKEN |
接続は切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTOOSMALL |
errmsg または errsrc の返り値の長さが有効なサイズではありませんでした。 |
IRIS_SUCCESS |
接続が確立されました。 |
例
IRIS_ASTR errmsg;
IRIS_ASTR srcline;
int offset;
errmsg.len = 50;
srcline.len = 100;
if ((rc = IrisErrorA(&errmsg, &srcline, &offset)) != IRIS_SUCCESS)
printf("\r\nfailed to display error - rc = %d",rc);
IrisErrorH
バリアント : IrisErrorA、 IrisErrorW
int IrisErrorH(IRISHSTRP msg, IRISHSTRP src, int * offp)
引数
msg |
エラー・メッセージ、またはエラー・メッセージを受信する変数のアドレス。 |
src |
エラーのソース文字列、またはエラー・メッセージのソース文字列を受信する変数のアドレス。 |
offp |
errsrc の位置に対するオフセット、またはエラー・メッセージのソース文字列に対するオフセットを受信する整数のアドレス。 |
説明
最新のエラー・メッセージ、それに関連付けられたソース文字列、およびそのソース文字列の中でエラーが発生した箇所までのオフセットを返します。
IrisErrorH の返り値
IRIS_CONBROKEN |
接続は切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTOOSMALL |
errmsg または errsrc の返り値の長さが有効なサイズではありませんでした。 |
IRIS_SUCCESS |
接続が確立されました。 |
例
IRISHSTRP errmsg;
IRISHSTRP srcline;
int offset;
errmsg.len = 50;
srcline.len = 100;
if ((rc = IrisErrorH(&errmsg, &srcline, &offset)) != IRIS_SUCCESS)
printf("\r\nfailed to display error - rc = %d",rc);
IrisErrorW
バリアント : IrisErrorA、 IrisErrorH
int IrisErrorW(IRISWSTRP msg, IRISWSTRP src, int * offp)
引数
msg |
エラー・メッセージ、またはエラー・メッセージを受信する変数のアドレス。 |
src |
エラーのソース文字列、またはエラー・メッセージのソース文字列を受信する変数のアドレス。 |
offp |
errsrc の位置に対するオフセット、またはエラー・メッセージのソース文字列に対するオフセットを受信する整数のアドレス。 |
説明
最新のエラー・メッセージ、それに関連付けられたソース文字列、およびそのソース文字列の中でエラーが発生した箇所までのオフセットを返します。
IrisErrorW の返り値
IRIS_CONBROKEN |
接続は切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTOOSMALL |
errmsg または errsrc の返り値の長さが有効なサイズではありませんでした。 |
IRIS_SUCCESS |
接続が確立されました。 |
例
IRISWSTRP errmsg;
IRISWSTRP srcline;
int offset;
errmsg.len = 50;
srcline.len = 100;
if ((rc = IrisErrorW(&errmsg, &srcline, &offset)) != IRIS_SUCCESS)
printf("\r\nfailed to display error - rc = %d",rc);
IrisErrxlateA
バリアント : IrisErrxlateW、 IrisErrxlateH
int IrisErrxlateA(int code, IRIS_ASTRP rbuf)
引数
code |
エラー・コードです。 |
rbuf |
InterSystems IRIS エラー文字列を含む IRIS_ASTR 変数のアドレスです。len フィールドには、返される文字列の最大サイズをロードする必要があります。 |
説明
エラー・コード code を InterSystems IRIS エラー文字列に変換し、その文字列を rbuf で示す構造に書き込みます。
IrisErrxlateA の返り値
IRIS_ERUNKNOWN |
指定のコードは、(コールイン・インタフェース・エラー範囲で) 1 より小さいか、最大の InterSystems IRIS エラー番号より大きくなっています。 |
IRIS_RETTRUNC |
関連するエラー文字列は、割り当てられる場所に収まるように切り捨てられます。 |
IRIS_SUCCESS |
接続が確立されました。 |
例
IRIS_ASTR retval; /* define variable retval */
retval.len = 30; /* maximum return length of string */
rc = IrisErrxlateA(IRIS_ERSTORE,&retval);
IrisErrxlateH
バリアント : IrisErrxlateA、 IrisErrxlateW
int IrisErrxlateH(int code, IRISHSTRP rbuf)
引数
code |
エラー・コードです。 |
rbuf |
InterSystems IRIS エラー文字列を含む IRISHSTRP 変数のアドレスです。len フィールドには、返される文字列の最大サイズをロードする必要があります。 |
説明
エラー・コード code を InterSystems IRIS エラー文字列に変換し、その文字列を rbuf で示す構造に書き込みます。
IrisErrxlateH の返り値
IRIS_ERUNKNOWN |
指定のコードは、(コールイン・インタフェース・エラー範囲で) 1 より小さいか、最大の InterSystems IRIS エラー番号より大きくなっています。 |
IRIS_RETTRUNC |
関連するエラー文字列は、割り当てられる場所に収まるように切り捨てられます。 |
IRIS_SUCCESS |
接続が確立されました。 |
例
IRISHSTR retval; /* define variable retval */
retval.len = 30; /* maximum return length of string */
rc = IrisErrxlateH(IRIS_ERSTORE,&retval);
IrisErrxlateW
バリアント : IrisErrxlateA、 IrisErrxlateH
int IrisErrxlateW(int code, IRISWSTRP rbuf)
引数
code |
エラー・コードです。 |
rbuf |
InterSystems IRIS エラー文字列を含む IRISWSTR 変数のアドレスです。len フィールドには、返される文字列の最大サイズをロードする必要があります。 |
説明
エラー・コード code を InterSystems IRIS エラー文字列に変換し、その文字列を rbuf で示す構造に書き込みます。
IrisErrxlateW の返り値
IRIS_ERUNKNOWN |
指定のコードは、(コールイン・インタフェース・エラー範囲で) 1 より小さいか、最大の InterSystems IRIS エラー番号より大きくなっています。 |
IRIS_RETTRUNC |
関連するエラー文字列は、割り当てられる場所に収まるように切り捨てられます。 |
IRIS_SUCCESS |
接続が確立されました。 |
例
IRISWSTR retval; /* define variable retval */
retval.len = 30; /* maximum return length of string */
rc = IrisErrxlateW(IRIS_ERSTORE,&retval);
IrisEvalA
バリアント : IrisEvalW、 IrisEvalH
int IrisEvalA(IRIS_ASTRP volatile expr)
引数
説明
文字列を、それが InterSystems IRIS の式であるかのように評価し、返り値をメモリに格納して、IrisType と IrisConvert による処理がさらに進められるようにします。
IrisEvalA が正常に完了した場合、IrisType と IrisConvert への呼び出しが完了するようにフラグがセットされます。これらの関数は、IrisEvalA から返される項目の処理に使用されます。
Caution:
次に、IrisEvalA、IrisExecuteA、または IrisEnd を呼び出すと、既存の返り値が上書きされます。
IrisEvalA の返り値
IRIS_CONBROKEN |
接続は、深刻なエラー状態、または RESJOB によって切断されました。 |
IRIS_ERSYSTEM |
InterSystems IRIS が <SYSTEM> エラーを生成した場合または $ZF 関数から呼び出された場合は、内部カウンタが同期していない可能性があります。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_STRTOOLONG |
文字列が長すぎます。 |
IRIS_SUCCESS |
文字列は、正常に評価されました。 |
IrisEvalA は、任意の InterSystems IRIS エラー・コードを返すこともできます。
例
int rc;
IRIS_ASTR retval;
IRIS_ASTR expr;
strcpy(expr.str, "\"Record\"_^Recnum_\" = \"_$$^GetRec(^Recnum)");
expr.len = strlen(expr.str);
rc = IrisEvalA(&expr);
if (rc == IRIS_SUCCESS)
rc = IrisConvert(IRIS_ASTRING,&retval);
IrisEvalH
バリアント : IrisEvalA、 IrisEvalW
int IrisEvalH(IRISHSTRP volatile expr)
引数
説明
文字列を、それが InterSystems IRIS の式であるかのように評価し、返り値をメモリに格納して、IrisType と IrisConvert による処理がさらに進められるようにします。
IrisEvalH が正常に完了した場合、IrisType と IrisConvert への呼び出しが完了するようにフラグがセットされます。これらの関数は、IrisEvalA から返される項目の処理に使用されます。
Caution:
次に、IrisEvalH、IrisExecuteH、または IrisEnd を呼び出すと、既存の返り値が上書きされます。
IrisEvalH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラー状態、または RESJOB によって切断されました。 |
IRISW_ERSYSTEM |
InterSystems IRIS が <SYSTEM> エラーを生成した場合または $ZF 関数から呼び出された場合は、内部カウンタが同期していない可能性があります。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_STRTOOLONG |
文字列が長すぎます。 |
IRIS_SUCCESS |
文字列は、正常に評価されました。 |
IrisEvalH は、任意の InterSystems IRIS エラー・コードを返すこともできます。
例
int rc;
IRISHSTRP retval;
IRISHSTRP expr;
strcpy(expr.str, "\"Record\"_^Recnum_\" = \"_$$^GetRec(^Recnum)");
expr.len = strlen(expr.str);
rc = IrisEvalH(&expr);
if (rc == IRIS_SUCCESS)
rc = IrisConvert(ING,&retval);
IrisEvalW
バリアント : IrisEvalA、 IrisEvalH
int IrisEvalW(IRISWSTRP volatile expr)
引数
説明
文字列を、それが InterSystems IRIS の式であるかのように評価し、返り値をメモリに格納して、IrisType と IrisConvert による処理がさらに進められるようにします。
IrisEvalW が正常に完了した場合、IrisType と IrisConvert への呼び出しが完了するようにフラグがセットされます。これらの関数は、IrisEvalA から返される項目の処理に使用されます。
Caution:
次に、IrisEvalW、IrisExecuteW、または IrisEnd を呼び出すと、既存の返り値が上書きされます。
IrisEvalW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラー状態、または RESJOB によって切断されました。 |
IRISHW_ERSYSTEM |
InterSystems IRIS が <SYSTEM> エラーを生成した場合または $ZF 関数から呼び出された場合は、内部カウンタが同期していない可能性があります。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_STRTOOLONG |
文字列が長すぎます。 |
IRIS_SUCCESS |
文字列は、正常に評価されました。 |
IrisEvalW は、任意の InterSystems IRIS エラー・コードを返すこともできます。
例
int rc;
IRISWSTR retval;
IRISWSTR expr;
strcpy(expr.str, "\"Record\"_^Recnum_\" = \"_$$^GetRec(^Recnum)");
expr.len = strlen(expr.str);
rc = IrisEvalW(&expr);
if (rc == IRIS_SUCCESS)
rc = IrisConvert(ING,&retval);
IrisExecuteA
バリアント : IrisExecuteW、 IrisExecuteH
int IrisExecuteA(IRIS_ASTRP volatile cmd)
引数
説明
ターミナルで入力されたかのように、コマンド文字列を実行します。
Caution:
次に、IrisEvalA、IrisExecuteA、または IrisEnd を呼び出すと、既存の返り値が上書きされます。
IrisExecuteA の返り値
IRIS_CONBROKEN |
接続は、深刻なエラー状態、または RESJOB によって切断されました。 |
IRIS_ERSYSTEM |
ObjectScript が <SYSTEM> エラーを生成した場合または $ZF 関数から呼び出された場合は、内部カウンタが同期していない可能性があります。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_STRTOOLONG |
文字列が長すぎます。 |
IRIS_SUCCESS |
文字列は、正常に実行されました。 |
IrisExecuteA は、任意の InterSystems IRIS エラー・コードを返すこともできます。
例
int rc;
IRIS_ASTR command;
sprintf(command.str,"set $namespace = \"USER\""); /* changes namespace */
command.len = strlen(command.str);
rc = IrisExecuteA(&command);
IrisExecuteH
バリアント : IrisExecuteA、 IrisExecuteW
int IrisExecuteH(IRISHSTRP volatile cmd)
引数
説明
ターミナルで入力されたかのように、コマンド文字列を実行します。
IrisExecuteH が正常に完了した場合、IrisType と IrisConvert への呼び出しが完了するようにフラグがセットされます。これらの関数は、IrisEvalH から返される項目の処理に使用されます。
Caution:
次に、IrisEvalH、IrisExecuteH、または IrisEnd を呼び出すと、既存の返り値が上書きされます。
IrisExecuteH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラー状態、または RESJOB によって切断されました。 |
IRIS_ERSYSTEM |
ObjectScript が <SYSTEM> エラーを生成した場合または $ZF 関数から呼び出された場合は、内部カウンタが同期していない可能性があります。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_STRTOOLONG |
文字列が長すぎます。 |
IRIS_SUCCESS |
文字列は、正常に実行されました。 |
IrisExecuteH は、任意の InterSystems IRIS エラー・コードを返すこともできます。
例
int rc;
unsigned short zname[] = {'Z','N',' ','"','U','S','E','R','"'};
IRISHSTRP pcommand;
pcommand.str = zname;
pcommand.len = sizeof(zname) / sizeof(unsigned short);
rc = IrisExecuteH(pcommand);
IrisExecuteW
バリアント : IrisExecuteA、 IrisExecuteH
int IrisExecuteW(IRISWSTRP volatile cmd)
引数
説明
ターミナルで入力されたかのように、コマンド文字列を実行します。
IrisExecuteW が正常に完了した場合、IrisType と IrisConvert への呼び出しが完了するようにフラグがセットされます。これらの関数は、IrisEvalW から返される項目の処理に使用されます。
Caution:
次に、IrisEvalW、IrisExecuteW、または IrisEnd を呼び出すと、既存の返り値が上書きされます。
IrisExecuteW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラー状態、または RESJOB によって切断されました。 |
IRIS_ERSYSTEM |
ObjectScript が <SYSTEM> エラーを生成した場合または $ZF 関数から呼び出された場合は、内部カウンタが同期していない可能性があります。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_STRTOOLONG |
文字列が長すぎます。 |
IRIS_SUCCESS |
文字列は、正常に実行されました。 |
IrisExecuteW は、任意の InterSystems IRIS エラー・コードを返すこともできます。
例
int rc;
unsigned short zname[] = {'Z','N',' ','"','U','S','E','R','"'};
IRISWSTRP pcommand;
pcommand.str = zname;
pcommand.len = sizeof(zname) / sizeof(unsigned short);
rc = IrisExecuteW(pcommand);
IrisExecuteArgs
int IrisExecuteArgs(int numargs)
引数
numargs |
スタックにプッシュされた引数の数。 |
説明
引数を指定してコマンド文字列を実行します。コマンド文字列を通常のプッシュ文字列関数で引数スタックにプッシュした後、引数をプッシュする必要があります。引数の数は 0 に設定できます。
IrisExecuteArgs の戻り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_BADARG |
呼び出し引数が不正です。 |
IRIS_STRTOOLONG |
文字列が長すぎます。 |
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisExStrKill
int IrisExStrKill(IRIS_EXSTRP obj)
引数
説明
EXSTR 文字列に関連付けられているストレージを解放します。
IrisExStrKill の返り値
IRIS_ERUNIMPLEMENTED |
文字列が未定義です。 |
IRIS_SUCCESS |
文字列のストレージが解放されました。 |
IrisExStrNew
バリアント : IrisExStrNewW、 IrisExStrNewH
unsigned char * IrisExStrNew(IRIS_EXSTRP zstr, int size)
引数
zstr |
IRIS_EXSTR 文字列記述子へのポインタ。 |
size |
割り当てる 8 ビット文字の数 |
説明
文字列に対して要求されたストレージの容量を割り当て、EXSTR 構造に、構造の長さおよび構造の値フィールドへのポインタを埋め込みます。
IrisExStrNew の返り値
割り当てられた文字列へのポインタ、または、文字列が割り当てられていない場合は NULL を返します。
IrisExStrNewW
バリアント : IrisExStrNew、 IrisExStrNewH
unsigned short * IrisExStrNewW(IRIS_EXSTRP zstr, int size)
引数
zstr |
IRIS_EXSTR 文字列記述子へのポインタ。 |
size |
割り当てる 2 バイト文字の数 |
説明
文字列に対して要求されたストレージの容量を割り当て、EXSTR 構造に、構造の長さおよび構造の値フィールドへのポインタを埋め込みます。
IrisExStrNewW の返り値
割り当てられた文字列へのポインタ、または、文字列が割り当てられていない場合は NULL を返します。
IrisExStrNewH
バリアント : IrisExStrNew、 IrisExStrNewW
unsigned short * IrisExStrNewH(IRIS_EXSTRP zstr, int size)
引数
zstr |
IRIS_EXSTR 文字列記述子へのポインタ。 |
size |
割り当てる 4 バイト文字の数 |
説明
文字列に対して要求されたストレージの容量を割り当て、EXSTR 構造に、構造の長さおよび構造の値フィールドへのポインタを埋め込みます。
IrisExStrNewH の返り値
割り当てられた文字列へのポインタ、または、文字列が割り当てられていない場合は NULL を返します。
IrisExtFun
int IrisExtFun(unsigned int flags, int narg)
引数
flags |
IrisPushFunc[XW] からのルーチン・フラグ。 |
narg |
引数スタックにプッシュされた呼び出し引数の数。 |
説明
返り値を引数スタックにプッシュする外部関数呼び出しを実行します。
IrisExtFun の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_FAILURE |
内部的な整合性にエラーがあります。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisGetProperty
int IrisGetProperty()
説明
IrisPushProperty により定義されたプロパティの値を取得します。この値は、引数スタックにプッシュされます。
IrisGetProperty の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisGlobalData
int IrisGlobalData(int narg, int valueflag)
引数
narg |
引数スタックにプッシュされた呼び出し引数の数。 |
valueflag |
データ値がある場合、データ値を返すかどうかを示します。 |
説明
指定したグローバルに対して $Data を実行します。
IrisGlobalData の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_ERPROTECT |
保護違反です。 |
IRIS_ERUNDEF |
ノードに関連付けられた値はありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisGlobalGet
int IrisGlobalGet(int narg, int flag)
引数
narg |
引数スタックにプッシュされた添え字式の数。 |
flag |
グローバル参照が定義されていない場合の動作を指定します。
|
説明
IrisPushGlobal および任意の添え字により定義されたグローバル参照の値を取得します。このノード値は、引数スタックにプッシュされます。
IrisGlobalGet の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_ERPROTECT |
保護違反です。 |
IRIS_ERUNDEF |
ノードに関連付けられた値はありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisGlobalGetBinary
int IrisGlobalGetBinary(int numsub, int flag, int *plen, Callin_char_t **pbuf)
引数
numsub |
引数スタックにプッシュされた添え字式の数。 |
flag |
グローバル参照が定義されていない場合の動作を指定します。
|
plen |
バッファの長さへのポインタ。 |
pbuf |
バッファ・ポインタへのポインタ。 |
説明
IrisPushGlobal[W][H] および任意の添え字で定義されたグローバル参照の値を取得します。また、その結果が指定されたバッファに収まるバイナリ文字列かどうかを確認するためにテストを実行します。このノード値は、引数スタックにプッシュされます。
IrisGlobalGetBinary の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_ERPROTECT |
保護違反です。 |
IRIS_ERUNDEF |
ノードに関連付けられた値はありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisGlobalIncrement
int IrisGlobalIncrement(int narg)
引数
narg |
引数スタックにプッシュされた呼び出し引数の数。 |
説明
$INCREMENT を実行し、スタックの一番上の結果を返します。
IrisGlobalIncrement の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_ERPROTECT |
保護違反です。 |
IRIS_ERUNDEF |
ノードに関連付けられた値はありません。 |
IRIS_ERMAXINCR |
MAXINCREMENT システム・エラー |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisGlobalKill
int IrisGlobalKill(int narg, int nodeonly)
引数
narg |
引数スタックにプッシュされた呼び出し引数の数。 |
nodeonly |
1 の値は、指定されたノードのみを強制停止することを示します。値が 0 の場合、指定されたグローバル・ツリー全体が強制停止されます。 |
説明
グローバル・ノードまたはツリーに対して ZKILL を実行します。
IrisGlobalKill の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_ERPROTECT |
保護違反です。 |
IRIS_ERUNDEF |
ノードに関連付けられた値はありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisGlobalOrder
int IrisGlobalOrder(int narg, int dir, int valueflag)
引数
narg |
引数スタックにプッシュされた呼び出し引数の数。 |
dir |
$Order の方向は、1 の場合は前向き、-1 は後ろ向きです。 |
valueflag |
データ値がある場合、データ値を返すかどうかを示します。 |
説明
指定したグローバルに対して $Order を実行します。
IrisGlobalOrder の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_ERPROTECT |
保護違反です。 |
IRIS_ERUNDEF |
ノードに関連付けられた値はありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisGlobalQuery
int IrisGlobalQuery(int narg, int dir, int valueflag)
引数
narg |
引数スタックにプッシュされた呼び出し引数の数。 |
dir |
$Query の方向は、1 の場合は前向き、-1 は後ろ向きです。 |
valueflag |
データ値がある場合、データ値を返すかどうかを示します。 |
説明
指定したグローバルに対して $Query を実行します。
IrisGlobalQuery の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_ERPROTECT |
保護違反です。 |
IRIS_ERUNDEF |
ノードに関連付けられた値はありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisGlobalRelease
int IrisGlobalRelease( )
説明
保持されたグローバル・バッファの所有権 (存在する場合) を解放します。
IrisGlobalRelease の返り値
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisGlobalSet
int IrisGlobalSet(int narg)
引数
narg |
引数スタックにプッシュされた添え字式の数。 |
説明
IrisPushGlobal および任意の添え字により定義されたグローバル参照の値を格納します。この呼び出しを行う前に、ノード値を引数スタックにプッシュしておく必要があります。
IrisGlobalSet の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisIncrementCountOref
int IrisIncrementCountOref(unsigned int oref)
引数
説明
OREF に対するシステム参照カウンタをインクリメントします。
IrisIncrementCountOref の返り値
IRIS_ERBADOREF |
OREF が不正です。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisInvokeClassMethod
int IrisInvokeClassMethod(int narg)
引数
narg |
引数スタックにプッシュされた呼び出し引数の数。 |
説明
IrisPushClassMethod[W] および任意の引数によって定義されたクラス・メソッド呼び出しを実行します。返り値は、引数スタックにプッシュされます。
IrisInvokeClassMethod の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisInvokeMethod
int IrisInvokeMethod(int narg)
引数
narg |
引数スタックにプッシュされた呼び出し引数の数。 |
説明
IrisPushMethod[W]、および引数スタックにプッシュされた任意の引数によって定義されるインスタンス・メソッド呼び出しを実行します。
IrisInvokeMethod の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisOflush
int IrisOflush()
説明
保留中の出力をすべてフラッシュします。
IrisOflush の返り値
IRIS_FAILURE |
(コールイン実行可能プログラムの内部からではなく) $ZF 関数から呼び出された場合に返されます。 |
IRIS_SUCCESS |
制御関数が実行されました。 |
IrisPop
int IrisPop(void ** arg)
引数
説明
引数スタックから値をポップ・オフします。
IrisPop の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPopCvtW
バリアント : IrisPopCvtH
int IrisPopCvtW(int * lenp, unsigned short ** strp)
引数
lenp |
文字列の長さへのポインタ。 |
strp |
文字列ポインタへのポインタ。 |
説明
非推奨 : すべての文字列に Long 型の文字列関数 IrisPopExStrCvtW を使用する必要があります。
引数スタックからローカルの 8 ビット文字列をポップ・オフして、2 バイトの Unicode に変換します。Unicode 環境での IrisPopStrW と同じです。
IrisPopCvtW の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPopCvtH
バリアント : IrisPopCvtW
int IrisPopCvtH(int * lenp, wchar_t ** strp)
引数
lenp |
文字列の長さへのポインタ。 |
strp |
文字列ポインタへのポインタ。 |
説明
引数スタックからローカルの 8 ビット文字列をポップ・オフして、4 バイトの Unicode に変換します。Unicode 環境での IrisPopStrH と同じです。
IrisPopCvtH の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPopDbl
int IrisPopDbl(double * nump)
引数
説明
引数スタックから値をポップ・オフし、double 型に変換します。
IrisPopDbl の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPopExStr
バリアント : IrisPopExStrW、 IrisPopExStrH
int IrisPopExStr(IRIS_EXSTRP sstrp)
引数
説明
引数スタックから値をポップ・オフし、ローカルの 8 ビット・エンコーディングの文字列に変換します。
IrisPopExStr の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IRIS_EXSTR_INUSE |
sstrp が NULL に初期化されていなかった場合に返されます。 |
IrisPopExStrW
バリアント : IrisPopExStr、 IrisPopExStrH
int IrisPopExStrW(IRIS_EXSTRP sstrp)
引数
説明
引数スタックから値をポップ・オフし、2 バイト Unicode 文字列に変換します。
IrisPopExStrW の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IRIS_EXSTR_INUSE |
sstrp が NULL に初期化されていなかった場合に返されます。 |
IrisPopExStrH
バリアント : IrisPopExStr、 IrisPopExStrW
int IrisPopExStrH(IRIS_EXSTRP sstrp)
引数
説明
引数スタックから値をポップ・オフし、4 バイト Unicode 文字列に変換します。
IrisPopExStrH の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IRIS_EXSTR_INUSE |
sstrp が NULL に初期化されていなかった場合に返されます。 |
IrisPopExStrCvtW
バリアント : IrisPopExStrCvtH
int IrisPopExStrCvtW(IRIS_EXSTRP sstr)
引数
sstr |
Long 型の文字列ポインタへのポインタ。 |
説明
引数スタックからローカルの 8 ビット文字列をポップ・オフして、2 バイトの Unicode 文字列に変換します。Unicode システムでは、これは IrisPopExStrW と同じです。
IrisPopExStrCvtW の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPopExStrCvtH
バリアント : IrisPopExStrCvtW
int IrisPopExStrCvtW(IRIS_EXSTRP sstr)
引数
sstr |
Long 型の文字列ポインタへのポインタ。 |
説明
引数スタックからローカルの 8 ビット文字列をポップ・オフして、4 バイトの Unicode 文字列に変換します。Unicode システムでは、これは IrisPopExStrH と同じです。
IrisPopExStrCvtH の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPopInt
int IrisPopInt(int* nump)
引数
説明
引数スタックから値をポップ・オフし、integer 型に変換します。
IrisPopInt の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPopInt64
int IrisPopInt64(long long * nump)
引数
説明
引数スタックから値をポップ・オフし、64 ビット (long long) 値に変換します
IrisPopInt64 の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPopList
int IrisPopList(int * lenp, Callin_char_t ** strp)
引数
lenp |
文字列の長さへのポインタ。 |
strp |
文字列ポインタへのポインタ。 |
説明
引数スタックから $LIST オブジェクトをポップ・オフして変換します。
IrisPopList の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPopOref
int IrisPopOref(unsigned int * orefp)
引数
説明
引数スタックから OREF をポップ・オフします。
IrisPopOref の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_ERNOOREF |
結果は OREF ではありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPopPtr
int IrisPopPtr(void ** ptrp)
引数
説明
引数スタックから、ポインタを内部形式でポップ・オフします。
IrisPopPtr の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_BADARG |
このエントリは、有効なポインタではありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPopStr
バリアント : IrisPopStrW、 IrisPopStrH
int IrisPopStr(int * lenp, Callin_char_t ** strp)
引数
lenp |
文字列の長さへのポインタ。 |
strp |
文字列ポインタへのポインタ。 |
説明
引数スタックから値をポップ・オフし、string 型に変換します。
IrisPopStr の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPopStrW
バリアント : IrisPopStr、 IrisPopStrH
int IrisPopStrW(int * lenp, unsigned short ** strp)
引数
lenp |
文字列の長さへのポインタ。 |
strp |
文字列ポインタへのポインタ。 |
説明
引数スタックから値をポップ・オフし、2 バイトの Unicode 文字列に変換します。
IrisPopStrW の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPopStrH
バリアント : IrisPopStr、 IrisPopStrW
int IrisPopStrH(int * lenp, wchar_t ** strp)
引数
lenp |
文字列の長さへのポインタ。 |
strp |
文字列ポインタへのポインタ。 |
説明
引数スタックから値をポップ・オフし、4 バイトの Unicode 文字列に変換します。
IrisPopStrH の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPromptA
バリアント : IrisPromptW、 IrisPromptH
int IrisPromptA(IRIS_ASTRP rbuf)
引数
rbuf |
プロンプト文字列。返される文字列の最小長は 5 文字です。 |
説明
(“>” のない) ターミナルである文字列を返します。
IrisPromptA の返り値
IRIS_CONBROKEN |
接続は切断されました。 |
IRIS_ERSYSTEM |
ObjectScript が <SYSTEM> エラーを生成した場合または $ZF 関数から呼び出された場合は、内部カウンタが同期していない可能性があります。 |
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTOOSMALL |
rbuf は、5 文字以上の長さにする必要があります。 |
IRIS_SUCCESS |
接続が確立されました。 |
例
IRIS_ASTR retval; /* define variable retval */
retval.len = 5; /* maximum return length of string */
rc = IrisPromptA(&retval);
IrisPromptH
バリアント : IrisPromptA、 IrisPromptW
int IrisPromptH(IRISHSTRP rbuf)
引数
rbuf |
プロンプト文字列。返される文字列の最小長は 5 文字です。 |
説明
(“>” のない) ターミナルである文字列を返します。
IrisPromptH の返り値
IRIS_CONBROKEN |
接続は切断されました。 |
IRIS_ERSYSTEM |
ObjectScript が <SYSTEM> エラーを生成した場合または $ZF 関数から呼び出された場合は、内部カウンタが同期していない可能性があります。 |
IRIS_FAILURE |
要求は失敗しました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTOOSMALL |
rbuf は、5 文字以上の長さにする必要があります。 |
IRIS_SUCCESS |
接続が確立されました。 |
例
IRISHSTRP retval; /* define variable retval */
retval.len = 5; /* maximum return length of string */
rc = IrisPromptH( &retval);
IrisPromptW
バリアント : IrisPromptA、 IrisPromptH
int IrisPromptW(IRISWSTRP rbuf)
引数
rbuf |
プロンプト文字列。返される文字列の最小長は 5 文字です。 |
説明
(“>” のない) ターミナルである文字列を返します。
IrisPromptW の返り値
IRIS_CONBROKEN |
接続は切断されました。 |
IRIS_ERSYSTEM |
ObjectScript が <SYSTEM> エラーを生成した場合または $ZF 関数から呼び出された場合は、内部カウンタが同期していない可能性があります。 |
IRIS_FAILURE |
要求は失敗しました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_RETTOOSMALL |
rbuf は、5 文字以上の長さにする必要があります。 |
IRIS_SUCCESS |
接続が確立されました。 |
例
IRISWSTR retval; /* define variable retval */
retval.len = 5; /* maximum return length of string */
rc = IrisConvertW( &retval);
IrisPushClassMethod
バリアント : IrisPushClassMethodW、 IrisPushClassMethodH
int IrisPushClassMethod(int clen, const Callin_char_t * cptr,
int mlen, const Callin_char_t * mptr, int flg)
引数
clen |
クラス名の長さ (文字数)。 |
cptr |
クラス名へのポインタ。 |
mlen |
メソッド名の長さ (文字数)。 |
mptr |
メソッド名へのポインタ。 |
flg |
メソッドが値を返すかどうかを指定します。メソッドが値を返す場合、値を取得するにはこのフラグを 1 に設定する必要があります。このメソッドは、引数付きの Quit を使用して値を返す必要があります。値を返さない場合は、このパラメータを 0 に設定します。 |
説明
クラス・メソッド参照を引数スタックにプッシュします。
IrisPushClassMethod の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_BADARG |
呼び出し引数が不正です。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushClassMethodH
バリアント : IrisPushClassMethod、 IrisPushClassMethodW
int IrisPushClassMethodH(int clen, const wchar_t * cptr,
int mlen, const wchar_t * mptr, int flg)
引数
clen |
クラス名の長さ (文字数)。 |
cptr |
クラス名へのポインタ。 |
mlen |
メソッド名の長さ (文字数)。 |
mptr |
メソッド名へのポインタ。 |
flg |
メソッドが値を返すかどうかを指定します。メソッドが値を返す場合、値を取得するにはこのフラグを 1 に設定する必要があります。このメソッドは、引数付きの Quit を使用して値を返す必要があります。値を返さない場合は、このパラメータを 0 に設定します。 |
説明
4 バイト Unicode クラス・メソッド参照を引数スタックにプッシュします。
IrisPushClassMethodH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_BADARG |
呼び出し引数が不正です。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushClassMethodW
バリアント : IrisPushClassMethod、 IrisPushClassMethodH
int IrisPushClassMethodW(int clen, const unsigned short * cptr,
int mlen, const unsigned short * mptr, int flg)
引数
clen |
クラス名の長さ (文字数)。 |
cptr |
クラス名へのポインタ。 |
mlen |
メソッド名の長さ (文字数)。 |
mptr |
メソッド名へのポインタ。 |
flg |
メソッドが値を返すかどうかを指定します。メソッドが値を返す場合、値を取得するにはこのフラグを 1 に設定する必要があります。このメソッドは、引数付きの Quit を使用して値を返す必要があります。値を返さない場合は、このパラメータを 0 に設定します。 |
説明
2 バイト Unicode クラス・メソッド参照を引数スタックにプッシュします。
IrisPushClassMethodW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_BADARG |
呼び出し引数が不正です。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushCvtW
バリアント : IrisPushCvtH
int IrisPushCvtW(int len, const unsigned short * ptr)
引数
len |
文字列内の文字数。 |
ptr |
文字列へのポインタ。 |
説明
非推奨 : すべての文字列に Long 型の文字列関数 IrisPushExStrCvtW を使用する必要があります。
Unicode 文字列をローカルの 8 ビットに変換して、引数スタックにプッシュします。Unicode バージョンの IrisPushStrW と同じです。
IrisPushCvtW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
InterSystems IRIS エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
文字列の変換によるものです。 |
IrisPushCvtH
バリアント : IrisPushCvtW
int IrisPushCvtH(int len, const wchar_t * ptr)
引数
len |
文字列内の文字数。 |
ptr |
文字列へのポインタ。 |
説明
Unicode 文字列をローカルの 8 ビットに変換して、引数スタックにプッシュします。Unicode バージョンの IrisPushStrH と同じです。
IrisPushCvtH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
InterSystems IRIS エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
文字列の変換によるものです。 |
IrisPushDbl
int IrisPushDbl(double num)
引数
説明
double 型を引数スタックにプッシュします。
IrisPushDbl の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushExecuteFuncA
バリアント : IrisPushExecuteFuncW、 IrisPushExecuteFuncH
int IrisPushExecuteFuncA(int len, const unsigned char *ptr)
引数
len |
コマンド文字列の長さ |
ptr |
コマンド文字列へのポインタ |
説明
IrisCallExecuteFunc() による呼び出しの準備として $Xecute() コマンドを引数スタックにプッシュします。
IrisPushExecuteFuncA の戻り値
IRIS_STRTOOLONG |
文字列が長すぎます。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushExecuteFuncW
バリアント : IrisPushExecuteFuncA、 IrisPushExecuteFuncH
int IrisPushExecuteFuncW(int len, const unsigned short *ptr)
引数
len |
コマンド文字列の長さ |
ptr |
コマンド文字列へのポインタ |
説明
IrisCallExecuteFunc() による呼び出しの準備として $Xecute() コマンドを引数スタックにプッシュします。
IrisPushExecuteFuncW の戻り値
IRIS_STRTOOLONG |
文字列が長すぎます。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushExecuteFuncH
バリアント : IrisPushExecuteFuncA、 IrisPushExecuteFuncW
int IrisPushExecuteFuncH(int len, const wchar_t *ptr)
引数
len |
コマンド文字列の長さ |
ptr |
コマンド文字列へのポインタ |
説明
IrisCallExecuteFunc() による呼び出しの準備として $Xecute() コマンドを引数スタックにプッシュします。
IrisPushExecuteFuncH の戻り値
IRIS_STRTOOLONG |
文字列が長すぎます。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushExStr
バリアント : IrisPushExStrW、 IrisPushExStrH
int IrisPushExStr(IRIS_EXSTRP sptr)
引数
説明
文字列を引数スタックにプッシュします。
IrisPushExStr の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushExStrW
バリアント : IrisPushExStr、 IrisPushExStrH
int IrisPushExStrW(IRIS_EXSTRP sptr)
引数
説明
Unicode 文字列を引数スタックにプッシュします。
IrisPushExStrW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushExStrH
バリアント : IrisPushExStr、 IrisPushExStrW
int IrisPushExStrH(IRIS_EXSTRP sptr)
引数
説明
4 バイト Unicode 文字列を引数スタックにプッシュします。
IrisPushExStrH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushExStrCvtW
バリアント : IrisPushExStrCvtH
int IrisPushExStrCvtW(IRIS_EXSTRP sptr)
引数
説明
Unicode 文字列をローカルの 8 ビットに変換して、引数スタックにプッシュします。
IrisPushExStrCvtW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
InterSystems IRIS エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
文字列の変換によるものです。 |
IrisPushExStrCvtH
バリアント : IrisPushExStrCvtW
int IrisPushExStrCvtH(IRIS_EXSTRP sptr)
引数
説明
4 バイトの Unicode 文字列をローカルの 8 ビットに変換して、引数スタックにプッシュします。
IrisPushExStrCvtH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
InterSystems IRIS エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
文字列の変換によるものです。 |
IrisPushFunc
バリアント : IrisPushFuncW、 IrisPushFuncH
int IrisPushFunc(unsigned int * rflag, int tlen, const Callin_char_t * tptr,
int nlen, const Callin_char_t * nptr)
引数
rflag |
IrisExtFun で使用するためのルーチン・フラグ。 |
tlen |
タグ名の長さ (文字数)。ここで、0 はタグ名が NULL ("") であることを表します。 |
tptr |
タグ名へのポインタ。tlen == 0 の場合、tagptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
nlen |
ルーチン名の長さ (文字数)。ここで、0 はルーチン名が NULL ("") で、現在のルーチン名が使用されることを表します。 |
nptr |
ルーチン名へのポインタ。nlen == 0 の場合、nptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
外部関数参照を引数スタックにプッシュします。
IrisPushFunc の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushFuncH
バリアント : IrisPushFunc、 IrisPushFuncW
int IrisPushFuncH(unsigned int * rflag, int tlen, const wchar_t * tptr,
int nlen, const wchar_t * nptr)
引数
rflag |
IrisExtFun で使用するためのルーチン・フラグ。 |
tlen |
タグ名の長さ (文字数)。ここで、0 はタグ名が NULL ("") であることを表します。 |
tptr |
タグ名へのポインタ。tlen == 0 の場合、tptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
nlen |
ルーチン名の長さ (文字数)。ここで、0 はルーチン名が NULL ("") で、現在のルーチン名が使用されることを表します。 |
nptr |
ルーチン名へのポインタ。nlen == 0 の場合、nptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
4 バイト Unicode 外部関数参照を引数スタックにプッシュします。
IrisPushFuncH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushFuncW
バリアント : IrisPushFunc、 IrisPushFuncH
int IrisPushFuncW(unsigned int * rflag, int tlen, const unsigned short * tptr,
int nlen, const unsigned short * nptr)
引数
rflag |
IrisExtFun で使用するためのルーチン・フラグ。 |
tlen |
タグ名の長さ (文字数)。ここで、0 はタグ名が NULL ("") であることを表します。 |
tptr |
タグ名へのポインタ。tlen == 0 の場合、tptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
nlen |
ルーチン名の長さ (文字数)。ここで、0 はルーチン名が NULL ("") で、現在のルーチン名が使用されることを表します。 |
nptr |
ルーチン名へのポインタ。nlen == 0 の場合、nptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
2 バイト Unicode 外部関数参照を引数スタックにプッシュします。
IrisPushFuncW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushFuncX
バリアント : IrisPushFuncXW、 IrisPushFuncXH
int IrisPushFuncX(unsigned int * rflag, int tlen, const Callin_char_t * tptr, int off,
int elen, const Callin_char_t * eptr,
int nlen, const Callin_char_t * nptr)
引数
rflag |
IrisExtFun で使用するためのルーチン・フラグ。 |
tlen |
タグ名の長さ (文字数)。ここで、0 はタグ名が NULL ("") であることを表します。 |
tptr |
タグ名へのポインタ。tlen == 0 の場合、tptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
off |
指定されたタグからの行オフセット。ここで、0 はオフセットがないことを表します。 |
elen |
環境名の長さ (文字数)。ここで、0 は指定された環境がなく、この関数では現在の環境が使用されることを表します。 |
eptr |
環境名へのポインタ。elen == 0 の場合、eptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
nlen |
ルーチン名の長さ (文字数)。ここで、0 はルーチン名が NULL ("") で、現在のルーチン名が使用されることを表します。 |
nptr |
ルーチン名へのポインタ。nlen == 0 の場合、nptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
拡張外部関数参照を引数スタックにプッシュします。
IrisPushFuncX の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushFuncXH
バリアント : IrisPushFuncX、 IrisPushFuncXW
int IrisPushFuncXH(unsigned int * rflag, int tlen, const wchar_t * tptr, int off,
int elen, const wchar_t * eptr, int nlen, const wchar_t * nptr)
引数
rflag |
IrisExtFun で使用するためのルーチン・フラグ。 |
tlen |
タグ名の長さ (文字数)。ここで、0 はタグ名が NULL ("") であることを表します。 |
tptr |
タグ名へのポインタ。tlen == 0 の場合、tptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
off |
指定されたタグからの行オフセット。ここで、0 はオフセットがないことを表します。 |
elen |
環境名の長さ (文字数)。ここで、0 は指定された環境がなく、この関数では現在の環境が使用されることを表します。 |
eptr |
環境名へのポインタ。elen == 0 の場合、eptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
nlen |
ルーチン名の長さ (文字数)。ここで、0 はルーチン名が NULL ("") で、現在のルーチン名が使用されることを表します。 |
nptr |
ルーチン名へのポインタ。nlen == 0 の場合、nptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
4 バイト Unicode 拡張関数ルーチン参照を引数スタックにプッシュします。
IrisPushFuncXH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushFuncXW
バリアント : IrisPushFuncX、 IrisPushFuncXH
int IrisPushFuncXW(unsigned int * rflag, int tlen, const unsigned short * tptr, int off,
int elen, const unsigned short * eptr,
int nlen, const unsigned short * nptr)
引数
rflag |
IrisExtFun で使用するためのルーチン・フラグ。 |
tlen |
タグ名の長さ (文字数)。ここで、0 はタグ名が NULL ("") であることを表します。 |
tptr |
タグ名へのポインタ。tlen == 0 の場合、tptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
off |
指定されたタグからの行オフセット。ここで、0 はオフセットがないことを表します。 |
elen |
環境名の長さ (文字数)。ここで、0 は指定された環境がなく、この関数では現在の環境が使用されることを表します。 |
eptr |
環境名へのポインタ。elen == 0 の場合、eptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
nlen |
ルーチン名の長さ (文字数)。ここで、0 はルーチン名が NULL ("") で、現在のルーチン名が使用されることを表します。 |
nptr |
ルーチン名へのポインタ。nlen == 0 の場合、nptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
2 バイト Unicode 拡張関数ルーチン参照を引数スタックにプッシュします。
IrisPushFuncXW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushGlobal
バリアント : IrisPushGlobalW、 IrisPushGlobalH
int IrisPushGlobal(int nlen, const Callin_char_t * nptr)
引数
nlen |
グローバル名の長さ (文字数)。 |
nptr |
グローバル名へのポインタ。 |
説明
グローバル参照を引数スタックにプッシュします。
IrisPushGlobal の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushGlobalH
バリアント : IrisPushGlobal、 IrisPushGlobalW
intIrisPushGlobalH(int nlen, const wchar_t * nptr)
引数
nlen |
グローバル名の長さ (文字数)。 |
nptr |
グローバル名へのポインタ。 |
説明
4 バイト Unicode グローバル参照を引数スタックにプッシュします。
IrisPushGlobalH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushGlobalW
バリアント : IrisPushGlobal、 IrisPushGlobalH
int IrisPushGlobalW(int nlen, const unsigned short * nptr)
引数
nlen |
グローバル名の長さ (文字数)。 |
nptr |
グローバル名へのポインタ。 |
説明
2 バイト Unicode グローバル参照を引数スタックにプッシュします。
IrisPushGlobalW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushGlobalX
バリアント : IrisPushGlobalXW、 IrisPushGlobalXH
int IrisPushGlobalX(int nlen, const Callin_char_t * nptr,
int elen, const Callin_char_t * eptr)
引数
nlen |
グローバル名の長さ (文字数)。 |
nptr |
グローバル名へのポインタ。 |
elen |
環境名の長さ (文字数)。ここで、0 は指定された環境がなく、この関数では現在の環境が使用されることを表します。 |
eptr |
環境名へのポインタ。elen == 0 の場合、eptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
拡張グローバル参照を引数スタックにプッシュします。
IrisPushGlobalX の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushGlobalXH
バリアント : IrisPushGlobalX、 IrisPushGlobalXW
int IrisPushGlobalXH(int nlen, const wchar_t * nptr, int elen, const wchar_t * eptr)
引数
nlen |
グローバル名の長さ (文字数)。 |
nptr |
グローバル名へのポインタ。 |
elen |
環境名の長さ (文字数)。ここで、0 は指定された環境がなく、この関数では現在の環境が使用されることを表します。 |
eptr |
環境名へのポインタ。elen == 0 の場合、eptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
4 バイト Unicode 拡張グローバル参照を引数スタックにプッシュします。
IrisPushGlobalXH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTAC |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushGlobalXW
バリアント : IrisPushGlobalX、 IrisPushGlobalXH
int IrisPushGlobalXW(int nlen, const unsigned short * nptr,
int elen, const unsigned short * eptr)
引数
nlen |
グローバル名の長さ (文字数)。 |
nptr |
グローバル名へのポインタ。 |
elen |
環境名の長さ (文字数)。ここで、0 は指定された環境がなく、この関数では現在の環境が使用されることを表します。 |
eptr |
環境名へのポインタ。elen == 0 の場合、eptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
2 バイト Unicode 拡張グローバル参照を引数スタックにプッシュします。
IrisPushGlobalXW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTAC |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushIEEEDbl
int IrisPushIEEEDbl(double num)
引数
説明
IEEE の double 型を引数スタックにプッシュします
IrisPushIEEEDbl の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushInt
int IrisPushInt(int num)
引数
説明
integer 型を引数スタックにプッシュします
IrisPushInt の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushInt64
int IrisPushInt64(long long num)
引数
説明
64 ビット (long long) 値を引数スタックにプッシュします。
IrisPushInt64 の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushList
int IrisPushList(int len, const Callin_char_t * ptr)
引数
len |
文字列内の文字数。 |
ptr |
文字列へのポインタ。 |
説明
$LIST オブジェクトを変換し、引数スタックにプッシュします。
IrisPushList の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
文字列要素の変換によります。 |
IrisPushLock
バリアント : IrisPushLockW、 IrisPushLockH
int IrisPushLock(int nlen, const Callin_char_t * nptr)
引数
nlen |
ロック名の長さ (バイト単位) |
nptr |
ロック名へのポインタ。 |
説明
ロック名を引数スタックにプッシュすることにより、IrisAcquireLock コマンドを初期化します。
IrisPushLock の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushLockH
バリアント : IrisPushLock、 IrisPushLockW
int IrisPushLockH(int nlen, const wchar_t * nptr)
引数
nlen |
ロック名の長さ (2 バイトまたは 4 バイト文字の数) |
nptr |
ロック名へのポインタ。 |
説明
ロック名を引数スタックにプッシュすることにより、IrisAcquireLock コマンドを初期化します。
IrisPushLockH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushLockW
バリアント : IrisPushLock、 IrisPushLockH
int IrisPushLockW(int nlen, const unsigned short * nptr)
引数
nlen |
ロック名の長さ (2 バイト文字の数) |
nptr |
ロック名へのポインタ。 |
説明
ロック名を引数スタックにプッシュすることにより、IrisAcquireLock コマンドを初期化します。
IrisPushLockW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushLockX
バリアント : IrisPushLockXW、 IrisPushLockXH
int IrisPushLockX(int nlen, const Callin_char_t * nptr, int elen, const Callin_char_t * eptr)
引数
nlen |
ロック名の長さ (8 ビット文字の数) |
nptr |
ロック名へのポインタ。 |
elen |
環境名の長さ (文字数)。ここで、0 は指定された環境がなく、この関数では現在の環境が使用されることを表します。名前の形式は <ネームスペース>^[<システム>]^<ディレクトリ> にする必要があります。 |
eptr |
環境名へのポインタ。elen == 0 の場合、eptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
ロック名と環境文字列を引数スタックにプッシュすることにより、IrisAcquireLock コマンドを初期化します。
IrisPushLockX の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushLockXH
バリアント : IrisPushLockX、 IrisPushLockXW
int IrisPushLockXH(int nlen, const wchar_t * nptr, int elen, const wchar_t * eptr)
引数
nlen |
ロック名の長さ (2 バイトまたは 4 バイト文字の数) |
nptr |
ロック名へのポインタ。 |
elen |
環境名の長さ (文字数)。ここで、0 は指定された環境がなく、この関数では現在の環境が使用されることを表します。名前の形式は <ネームスペース>^[<システム>]^<ディレクトリ> にする必要があります。 |
eptr |
環境名へのポインタ。elen == 0 の場合、eptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
ロック名と環境文字列を引数スタックにプッシュすることにより、IrisAcquireLock コマンドを初期化します。
IrisPushLockXH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushLockXW
バリアント : IrisPushLockX、 IrisPushLockXH
int IrisPushLockXW(int nlen, const unsigned short * nptr, int elen, const unsigned short * eptr)
引数
nlen |
ロック名の長さ (2 バイト文字の数) |
nptr |
ロック名へのポインタ。 |
elen |
環境名の長さ (文字数)。ここで、0 は指定された環境がなく、この関数では現在の環境が使用されることを表します。名前の形式は <ネームスペース>^[<システム>]^<ディレクトリ> にする必要があります。 |
eptr |
環境名へのポインタ。elen == 0 の場合、eptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
ロック名と環境文字列を引数スタックにプッシュすることにより、IrisAcquireLock コマンドを初期化します。
IrisPushLockXW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushMethod
バリアント : IrisPushMethodW、 IrisPushMethodH
int IrisPushMethod(unsigned int oref, int mlen, const Callin_char_t * mptr, int flg)
引数
oref |
オブジェクト参照。 |
mlen |
メソッド名の長さ (文字数)。 |
mptr |
メソッド名へのポインタ。 |
flg |
メソッドが値を返すかどうかを指定します。メソッドが値を返す場合、値を取得するにはこのフラグを 1 に設定する必要があります。このメソッドは、引数付きの Quit を使用して値を返す必要があります。値を返さない場合は、このパラメータを 0 に設定します。 |
説明
インスタンス・メソッド参照を引数スタックにプッシュします。
IrisPushMethod の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_BADARG |
呼び出し引数が不正です。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushMethodH
バリアント : IrisPushMethod、 IrisPushMethodW
int IrisPushMethodH(unsigned int oref, int mlen, const wchar_t * mptr, int flg)
引数
oref |
オブジェクト参照。 |
mlen |
メソッド名の長さ (文字数)。 |
mptr |
メソッド名へのポインタ。 |
flg |
メソッドが値を返すかどうかを指定します。メソッドが値を返す場合、値を取得するにはこのフラグを 1 に設定する必要があります。このメソッドは、引数付きの Quit を使用して値を返す必要があります。値を返さない場合は、このパラメータを 0 に設定します。 |
説明
4 バイト Unicode インスタンス・メソッド参照を引数スタックにプッシュします。
IrisPushMethodH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_BADARG |
呼び出し引数が不正です。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushMethodW
バリアント : IrisPushMethod、 IrisPushMethodH
int IrisPushMethodW(unsigned int oref, int mlen, const unsigned short * mptr, int flg)
引数
oref |
オブジェクト参照。 |
mlen |
メソッド名の長さ (文字数)。 |
mptr |
メソッド名へのポインタ。 |
flg |
メソッドが値を返すかどうかを指定します。メソッドが値を返す場合、値を取得するにはこのフラグを 1 に設定する必要があります。このメソッドは、引数付きの Quit を使用して値を返す必要があります。値を返さない場合は、このパラメータを 0 に設定します。 |
説明
2 バイト Unicode インスタンス・メソッド参照を引数スタックにプッシュします。
IrisPushMethodW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_BADARG |
呼び出し引数が不正です。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushOref
int IrisPushOref(unsigned int oref)
引数
説明
OREF を引数スタックにプッシュします。
IrisPushOref の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERBADOREF |
OREF が不正です。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushProperty
バリアント : IrisPushPropertyW、 IrisPushPropertyH
int IrisPushProperty(unsigned int oref, int plen, const Callin_char_t * pptr)
引数
oref |
オブジェクト参照。 |
plen |
プロパティ名の長さ (文字数)。 |
pptr |
プロパティ名へのポインタ。 |
説明
プロパティ参照を引数スタックにプッシュします。
IrisPushProperty の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_BADARG |
呼び出し引数が不正です。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushPropertyH
バリアント : IrisPushProperty、 IrisPushPropertyW
int IrisPushPropertyH(unsigned int oref, int plen, const wchar_t * pptr)
引数
oref |
オブジェクト参照。 |
plen |
プロパティ名の長さ (文字数)。 |
pptr |
プロパティ名へのポインタ。 |
説明
4 バイト Unicode プロパティ参照を引数スタックにプッシュします。
IrisPushPropertyH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_BADARG |
呼び出し引数が不正です。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushPropertyW
バリアント : IrisPushProperty、 IrisPushPropertyH
int IrisPushPropertyW(unsigned int oref, int plen, const unsigned short * pptr)
引数
oref |
オブジェクト参照。 |
plen |
プロパティ名の長さ (文字数)。 |
pptr |
プロパティ名へのポインタ。 |
説明
2 バイト Unicode プロパティ参照を引数スタックにプッシュします。
IrisPushPropertyW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_BADARG |
呼び出し引数が不正です。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushPtr
int IrisPushPtr(void * ptr)
引数
説明
ポインタを内部形式で引数スタックにプッシュします。
IrisPushPtr の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushRtn
バリアント : IrisPushRtnW、 IrisPushRtnH
int IrisPushRtn(unsigned int * rflag, int tlen, const Callin_char_t * tptr,
int nlen, const Callin_char_t * nptr)
引数
rflag |
IrisDoRtn で使用するためのルーチン・フラグ。 |
tlen |
タグ名の長さ (文字数)。ここで、0 はタグ名が NULL ("") であることを表します。 |
tptr |
タグ名へのポインタ。tlen == 0 の場合、tptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
nlen |
ルーチン名の長さ (文字数)。ここで、0 はルーチン名が NULL ("") で、現在のルーチン名が使用されることを表します。 |
nptr |
ルーチン名へのポインタ。nlen == 0 の場合、nptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
ルーチン参照を引数スタックにプッシュします。すべての引数を受け付けるバージョンについては、"IrisPushRtnX" を参照してください。これは、タグ名とルーチン名のみを受け付ける短い形式の関数です。
IrisPushRtn の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushRtnH
バリアント : IrisPushRtn、 IrisPushRtnW
int IrisPushRtnH(unsigned int * rflag, int tlen, const wchar_t * tptr,
int nlen, const wchar_t * nptr)
引数
rflag |
IrisDoRtn で使用するためのルーチン・フラグ。 |
tlen |
タグ名の長さ (文字数)。ここで、0 はタグ名が NULL ("") であることを表します。 |
tptr |
タグ名へのポインタ。tlen == 0 の場合、tptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
nlen |
ルーチン名の長さ (文字数)。ここで、0 はルーチン名が NULL ("") で、現在のルーチン名が使用されることを表します。 |
nptr |
ルーチン名へのポインタ。nlen == 0 の場合、nptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
4 バイト Unicode ルーチン参照を引数スタックにプッシュします。すべての引数を受け付けるバージョンについては、"IrisPushRtnXH" を参照してください。これは、タグ名とルーチン名のみを受け付ける短い形式の関数です。
IrisPushRtnH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushRtnW
バリアント : IrisPushRtn、 IrisPushRtnH
int IrisPushRtnW(unsigned int * rflag, int tlen, const unsigned short * tptr,
int nlen, const unsigned short * nptr)
引数
rflag |
IrisDoRtn で使用するためのルーチン・フラグ。 |
tlen |
タグ名の長さ (文字数)。ここで、0 はタグ名が NULL ("") であることを表します。 |
tptr |
タグ名へのポインタ。tlen == 0 の場合、tptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
nlen |
ルーチン名の長さ (文字数)。ここで、0 はルーチン名が NULL ("") で、現在のルーチン名が使用されることを表します。 |
nptr |
ルーチン名へのポインタ。nlen == 0 の場合、nptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
2 バイト Unicode ルーチン参照を引数スタックにプッシュします。すべての引数を受け付けるバージョンについては、"IrisPushRtnXW" を参照してください。これは、タグ名とルーチン名のみを受け付ける短い形式の関数です。
IrisPushRtnW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushRtnX
バリアント : IrisPushRtnXW、 IrisPushRtnXH
int IrisPushRtnX(unsigned int * rflag, int tlen, const Callin_char_t * tptr,
int off, int elen, const Callin_char_t * eptr,
int nlen, const Callin_char_t * nptr)
引数
rflag |
IrisDoRtn で使用するためのルーチン・フラグ。 |
tlen |
タグ名の長さ (文字数)。ここで、0 はタグ名が NULL ("") であることを表します。 |
tptr |
タグ名へのポインタ。tlen == 0 の場合、tptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
off |
指定されたタグからの行オフセット。ここで、0 はオフセットがないことを表します。 |
elen |
環境名の長さ (文字数)。ここで、0 は指定された環境がなく、この関数では現在の環境が使用されることを表します。 |
eptr |
環境名へのポインタ。elen == 0 の場合、eptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
nlen |
ルーチン名の長さ (文字数)。ここで、0 はルーチン名が NULL ("") で、現在のルーチン名が使用されることを表します。 |
nptr |
ルーチン名へのポインタ。nlen == 0 の場合、nptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
拡張ルーチン参照を引数スタックにプッシュします。タグ名とルーチン名のみを受け付ける短い形式については、"IrisPushRtn" を参照してください。
IrisPushRtnX の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushRtnXH
バリアント : IrisPushRtnX、 IrisPushRtnXW
int IrisPushRtnXH(unsigned int * rflag, int tlen, const wchar_t * tptr,
int off, int elen, const wchar_t * eptr,
int nlen, const wchar_t * nptr)
引数
rflag |
IrisDoRtn で使用するためのルーチン・フラグ。 |
tlen |
タグ名の長さ (文字数)。ここで、0 はタグ名が NULL ("") であることを表します。 |
tptr |
タグ名へのポインタ。tlen == 0 の場合、tptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
off |
指定されたタグからの行オフセット。ここで、0 はオフセットがないことを表します。 |
elen |
環境名の長さ (文字数)。ここで、0 は指定された環境がなく、この関数では現在の環境が使用されることを表します。 |
eptr |
環境名へのポインタ。elen == 0 の場合、eptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
nlen |
ルーチン名の長さ (文字数)。ここで、0 はルーチン名が NULL ("") で、現在のルーチン名が使用されることを表します。 |
nptr |
ルーチン名へのポインタ。nlen == 0 の場合、nptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
4 バイト Unicode 拡張ルーチン参照を引数スタックにプッシュします。タグ名とルーチン名のみを受け付ける短い形式については、"IrisPushRtnH" を参照してください。
IrisPushRtnXH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushRtnXW
バリアント : IrisPushRtnX、 IrisPushRtnXH
int IrisPushRtnXW(unsigned int * rflag, int tlen, const unsigned short * tptr,
int off, int elen, const unsigned short * eptr,
int nlen, const unsigned short * nptr)
引数
rflag |
IrisDoRtn で使用するためのルーチン・フラグ。 |
tlen |
タグ名の長さ (文字数)。ここで、0 はタグ名が NULL ("") であることを表します。 |
tptr |
タグ名へのポインタ。tlen == 0 の場合、tptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
off |
指定されたタグからの行オフセット。ここで、0 はオフセットがないことを表します。 |
elen |
環境名の長さ (文字数)。ここで、0 は指定された環境がなく、この関数では現在の環境が使用されることを表します。 |
eptr |
環境名へのポインタ。elen == 0 の場合、eptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
nlen |
ルーチン名の長さ (文字数)。ここで、0 はルーチン名が NULL ("") で、現在のルーチン名が使用されることを表します。 |
nptr |
ルーチン名へのポインタ。nlen == 0 の場合、nptr は使用されず、(void *) 0 がポインタ値として使用される場合があります。 |
説明
2 バイト Unicode 拡張ルーチン参照を引数スタックにプッシュします。タグ名とルーチン名のみを受け付ける短い形式については、"IrisPushRtnW" を参照してください。
IrisPushRtnXW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisPushStr
バリアント : IrisPushStrW、 IrisPushStrH
int IrisPushStr(int len, const Callin_char_t * ptr)
引数
len |
文字列内の文字数。 |
ptr |
文字列へのポインタ。 |
説明
バイト文字列を引数スタックにプッシュします。
IrisPushStr の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
InterSystems IRIS エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushStrW
バリアント : IrisPushStr、 IrisPushStrH
int IrisPushStrW(int len, const unsigned short * ptr)
引数
len |
文字列内の文字数。 |
ptr |
文字列へのポインタ。 |
説明
2 バイトの Unicode 文字列を引数スタックにプッシュします。
IrisPushStrW の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
InterSystems IRIS エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushStrH
バリアント : IrisPushStr、 IrisPushStrW
int IrisPushStrH(int len, const wchar_t * ptr)
引数
len |
文字列内の文字数。 |
ptr |
文字列へのポインタ。 |
説明
4 バイトの Unicode 文字列を引数スタックにプッシュします。
IrisPushStrH の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
InterSystems IRIS エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisPushUndef
int IrisPushUndef()
説明
未定義値を引数スタックにプッシュします。この値は省略された関数引数として解釈されます。
IrisPushUndef の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisReleaseAllLocks
int IrisReleaseAllLocks( )
説明
引数なしの InterSystems IRIS LOCK コマンドを実行して、プロセスによって現在保持されているロックをすべて削除します。
IrisReleaseAllLocks の返り値
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisReleaseLock
int IrisReleaseLock(int nsub, int flg)
引数
nsub |
ロック参照にある添え字の数。 |
flg |
ロック・コマンドの修飾語。有効な値は、IRIS_IMMEDIATE_RELEASE と IRIS_SHARED_LOCK のいずれか、または両方です。 |
説明
InterSystems IRIS LOCK コマンドを実行して、指定したロック名のロック・カウントをデクリメントします。このコマンドは、一度に 1 つずつ増分ロックを解放するだけです。
IrisReleaseLock の返り値
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_SUCCESS |
ロックに成功しました。 |
IrisSecureStartA
バリアント : IrisSecureStartW、 IrisSecureStartH
int IrisSecureStartA(IRIS_ASTRP username, IRIS_ASTRP password, IRIS_ASTRP exename,
unsigned long flags, int tout, IRIS_ASTRP prinp, IRIS_ASTRP prout)
引数
username |
認証するユーザ名です。UnknownUser 認証または OS 認証として認証するには NULL を使用し、それ以外の場合は Kerberos 資格情報キャッシュの情報を使用します。 |
password |
認証するパスワードです。UnknownUser 認証または OS 認証として認証するには NULL を使用し、それ以外の場合は Kerberos 資格情報キャッシュの情報を使用します。 |
exename |
コールイン実行可能プログラム名 (または他のプロセス識別子です)。このユーザ定義文字列は、JOBEXAM および監査記録に表示されます。NULL は有効な値です。 |
flags |
1 つまたは複数のターミナル設定を以下に示します。 |
tout |
秒単位で指定されたタイムアウト値です。既定値は 0 です。0 を指定すると、タイムアウトにはなりません。タイムアウトは、パーティションが使用可能になるまで待機する場合にのみ適用されます。パーティションの初期化、内部リソースの待機、主入出力デバイスを開く処理などには適用されません。 |
prinp |
InterSystems IRIS の主入力デバイスを定義する文字列です。空の文字列 (prinp.len == 0) はプロセスの標準入力デバイスの使用を意味しています。NULL ポインタ ((void *) 0) は NULL デバイスの使用を意味しています。 |
prout |
InterSystems IRIS の主出力デバイスを定義する文字列です。空の文字列 (prout.len == 0) はプロセスの標準出力デバイスの使用を意味しています。NULL ポインタ ((void *) 0) は NULL デバイスの使用を意味しています。 |
説明
プロセスをセットアップするために、InterSystems IRIS を呼び出します。
このコマンドを実行すると、最初の入出力操作を待たずに、入力デバイス (prinp)、および出力デバイス (prout) が開きます。これに対し、接続を開始した場合は通常、主入力デバイスまたは主出力デバイスは、最初に使用されるまで開きません。
flags 変数の有効な値は以下のとおりです。
-
IRIS_PROGMODE — InterSystems IRIS により、接続は、アプリケーション・モードではなく、プログラマ・モードの接続として扱われます。つまり、呼び出し側関数に対して明確なエラーが報告され、接続は有効なままになります (既定では、コールイン接続は、アプリケーション・モードでのルーチンの実行のようなものです。InterSystems IRIS により実行時のエラーが検知されると、接続が閉じられ、現在の操作に対してエラー IRIS_CONBROKEN が返されるだけでなく、それ以降に、新しい接続を確立せずにコールインを使用しようとしても、同じエラーが返されます)。
-
IRIS_TTALL — 既定値。InterSystems IRIS はターミナルの設定を初期化し、インタフェースを呼び出して戻るたびに、その設定をリストアする必要があります。
-
IRIS_TTCALLIN — InterSystems IRIS は、ターミナルが呼び出されるたびにそのターミナルを初期化しますが、ターミナルのリストアは IrisEnd が呼び出されたときまたは接続が切断されたときにのみ実行します。
-
IRIS_TTSTART — InterSystems IRIS は、接続の確立時にターミナルを初期化し、切断時にターミナルをリセットする必要があります。
-
IRIS_TTNEVER — InterSystems IRIS は、ターミナルの設定を変更できません。
-
IRIS_TTNONE — InterSystems IRIS は、主入出力デバイスからの入出力はできません。これは主入力、および主出力に対して NULL デバイスを指定することと同等です。主入力からの Read コマンドは <ENDOFFILE> エラーを生成し、主出力への Write コマンドは無視されます。
-
IRIS_TTNOUSE — このフラグは、IRIS_TTALL、IRIS_TTCALLIN、および IRIS_TTSTART で使用可能です。これは、IRIS_TTNEVER フラグと IRIS_TTNONE フラグにより暗黙的に設定されます。最初に主入力と主出力を開いた後は、InterSystems IRIS の Open コマンドと Use コマンドを使用してもターミナルの変更はできなくなります。
IrisSecureStartA の返り値
IRIS_ACCESSDENIED |
認証が失敗しました。実際の認証エラーについて、監査ログを確認してください。 |
IRIS_ALREADYCON |
既に接続されています。$ZF 関数から IrisSecureStartH を呼び出した場合に返されます。 |
IRIS_CHANGEPASSWORD |
パスワードの変更が必要です。この返り値は、InterSystems 認証を使用している場合にのみ返されます。 |
IRIS_CONBROKEN |
接続が確立され、その後切断されました。また、IrisEnd は、削除するために呼び出されませんでした。 |
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_STRTOOLONG |
prinp または prout が長すぎます。 |
IRIS_SUCCESS |
接続が確立されました。 |
フラグ・パラメータは、C プログラムの振る舞いと、InterSystems IRIS ターミナル属性の設定方法を通知します。時間はかかりますが最も安全な方法は、ObjectScript の呼び出しごとに InterSystems IRIS からターミナルを設定し、その設定をリストアすることです。ただし、ユーザ自身が設定を処理し、プログラムに関連する情報のみ収集すれば、ObjectScript のオーバーヘッドを軽減できます。パラメータ IRIS_TTNEVER により、オーバーヘッドを最小限にできます。
IrisSecureStartH
バリアント : IrisSecureStartA、 IrisSecureStartW
int IrisSecureStartH(IRISHSTRP username, IRISHSTRP password, IRISHSTRP exename,
unsigned long flags, int tout, IRISHSTRP prinp, IRISHSTRP prout)
引数
username |
認証するユーザ名です。UnknownUser 認証または OS 認証として認証するには NULL を使用し、それ以外の場合は Kerberos 資格情報キャッシュの情報を使用します。 |
password |
認証するパスワードです。UnknownUser 認証または OS 認証として認証するには NULL を使用し、それ以外の場合は Kerberos 資格情報キャッシュの情報を使用します。 |
exename |
コールイン実行可能プログラム名 (または他のプロセス識別子です)。このユーザ定義文字列は、JOBEXAM および監査記録に表示されます。NULL は有効な値です。 |
flags |
1 つまたは複数のターミナル設定を以下に示します。 |
tout |
秒単位で指定されたタイムアウト値です。既定値は 0 です。0 を指定すると、タイムアウトにはなりません。タイムアウトは、パーティションが使用可能になるまで待機する場合にのみ適用されます。パーティションの初期化、内部リソースの待機、主入出力デバイスを開く処理などには適用されません。 |
prinp |
InterSystems IRIS の主入力デバイスを定義する文字列です。空の文字列 (prinp.len == 0) はプロセスの標準入力デバイスの使用を意味しています。NULL ポインタ ((void *) 0) は NULL デバイスの使用を意味しています。 |
prout |
InterSystems IRIS の主出力デバイスを定義する文字列です。空の文字列 (prout.len == 0) はプロセスの標準出力デバイスの使用を意味しています。NULL ポインタ ((void *) 0) は NULL デバイスの使用を意味しています。 |
説明
プロセスをセットアップするために、InterSystems IRIS を呼び出します。
このコマンドを実行すると、最初の入出力操作を待たずに、入力デバイス (prinp)、および出力デバイス (prout) が開きます。これに対し、接続を開始した場合は通常、主入力デバイスまたは主出力デバイスは、最初に使用されるまで開きません。
flags 変数の有効な値は以下のとおりです。
-
IRIS_PROGMODE — InterSystems IRIS により、接続は、アプリケーション・モードではなく、プログラマ・モードの接続として扱われます。つまり、呼び出し側関数に対して明確なエラーが報告され、接続は有効なままになります (既定では、コールイン接続は、アプリケーション・モードでのルーチンの実行のようなものです。InterSystems IRIS により実行時のエラーが検知されると、接続が閉じられ、現在の操作に対してエラー IRIS_CONBROKEN が返されるだけでなく、それ以降に、新しい接続を確立せずにコールインを使用しようとしても、同じエラーが返されます)。
-
IRIS_TTALL — 既定値。InterSystems IRIS はターミナルの設定を初期化し、インタフェースを呼び出して戻るたびに、その設定をリストアする必要があります。
-
IRIS_TTCALLIN — InterSystems IRIS は、ターミナルが呼び出されるたびにそのターミナルを初期化しますが、ターミナルのリストアは IrisEnd が呼び出されたときまたは接続が切断されたときにのみ実行します。
-
IRIS_TTSTART — InterSystems IRIS は、接続の確立時にターミナルを初期化し、切断時にターミナルをリセットする必要があります。
-
IRIS_TTNEVER — InterSystems IRIS は、ターミナルの設定を変更できません。
-
IRIS_TTNONE — InterSystems IRIS は、主入出力デバイスからの入出力はできません。これは主入力、および主出力に対して NULL デバイスを指定することと同等です。主入力からの Read コマンドは <ENDOFFILE> エラーを生成し、主出力への Write コマンドは無視されます。
-
IRIS_TTNOUSE — このフラグは、IRIS_TTALL、IRIS_TTCALLIN、および IRIS_TTSTART で使用可能です。これは、IRIS_TTNEVER フラグと IRIS_TTNONE フラグにより暗黙的に設定されます。最初に主入力と主出力を開いた後は、InterSystems IRIS の Open コマンドと Use コマンドを使用してもターミナルの変更はできなくなります。
IrisSecureStartH の返り値
IRIS_ACCESSDENIED |
認証が失敗しました。実際の認証エラーについて、監査ログを確認してください。 |
IRIS_ALREADYCON |
既に接続されています。$ZF 関数から IrisSecureStartH を呼び出した場合に返されます。 |
IRIS_CHANGEPASSWORD |
パスワードの変更が必要です。この返り値は、InterSystems 認証を使用している場合にのみ返されます。 |
IRIS_CONBROKEN |
接続が確立され、その後切断されました。また、IrisEnd は、削除するために呼び出されませんでした。 |
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_STRTOOLONG |
prinp または prout が長すぎます。 |
IRIS_SUCCESS |
接続が確立されました。 |
フラグ・パラメータは、C プログラムの振る舞いと、InterSystems IRIS ターミナル属性の設定方法を通知します。時間はかかりますが最も安全な方法は、ObjectScript の呼び出しごとに InterSystems IRIS からターミナルを設定し、その設定をリストアすることです。ただし、ユーザ自身が設定を処理し、プログラムに関連する情報のみ収集すれば、ObjectScript のオーバーヘッドを軽減できます。パラメータ IRIS_TTNEVER により、オーバーヘッドを最小限にできます。
IrisSecureStartW
バリアント : IrisSecureStartA、 IrisSecureStartH
int IrisSecureStartW(IRISWSTRP username, IRISWSTRP password, IRISWSTRP exename,
unsigned long flags, int tout, IRISWSTRP prinp, IRISWSTRP prout)
引数
username |
認証するユーザ名です。UnknownUser 認証または OS 認証として認証するには NULL を使用し、それ以外の場合は Kerberos 資格情報キャッシュの情報を使用します。 |
password |
認証するパスワードです。UnknownUser 認証または OS 認証として認証するには NULL を使用し、それ以外の場合は Kerberos 資格情報キャッシュの情報を使用します。 |
exename |
コールイン実行可能プログラム名 (または他のプロセス識別子です)。このユーザ定義文字列は、JOBEXAM および監査記録に表示されます。NULL は有効な値です。 |
flags |
1 つまたは複数のターミナル設定を以下に示します。 |
tout |
秒単位で指定されたタイムアウト値です。既定値は 0 です。0 を指定すると、タイムアウトにはなりません。タイムアウトは、パーティションが使用可能になるまで待機する場合にのみ適用されます。パーティションの初期化、内部リソースの待機、主入出力デバイスを開く処理などには適用されません。 |
prinp |
InterSystems IRIS の主入力デバイスを定義する文字列です。空の文字列 (prinp.len == 0) はプロセスの標準入力デバイスの使用を意味しています。NULL ポインタ ((void *) 0) は NULL デバイスの使用を意味しています。 |
prout |
InterSystems IRIS の主出力デバイスを定義する文字列です。空の文字列 (prout.len == 0) はプロセスの標準出力デバイスの使用を意味しています。NULL ポインタ ((void *) 0) は NULL デバイスの使用を意味しています。 |
説明
プロセスをセットアップするために、InterSystems IRIS を呼び出します。
このコマンドを実行すると、最初の入出力操作を待たずに、入力デバイス (prinp)、および出力デバイス (prout) が開きます。これに対し、接続を開始した場合は通常、主入力デバイスまたは主出力デバイスは、最初に使用されるまで開きません。
flags 変数の有効な値は以下のとおりです。
-
IRIS_PROGMODE — InterSystems IRIS により、接続は、アプリケーション・モードではなく、プログラマ・モードの接続として扱われます。つまり、呼び出し側関数に対して明確なエラーが報告され、接続は有効なままになります (既定では、コールイン接続は、アプリケーション・モードでのルーチンの実行のようなものです。InterSystems IRIS により実行時のエラーが検知されると、接続が閉じられ、現在の操作に対してエラー IRIS_CONBROKEN が返されるだけでなく、それ以降に、新しい接続を確立せずにコールインを使用しようとしても、同じエラーが返されます)。
-
IRIS_TTALL — 既定値。InterSystems IRIS はターミナルの設定を初期化し、インタフェースを呼び出して戻るたびに、その設定をリストアする必要があります。
-
IRIS_TTCALLIN — InterSystems IRIS は、ターミナルが呼び出されるたびにそのターミナルを初期化しますが、ターミナルのリストアは IrisEnd が呼び出されたときまたは接続が切断されたときにのみ実行します。
-
IRIS_TTSTART — InterSystems IRIS は、接続の確立時にターミナルを初期化し、切断時にターミナルをリセットする必要があります。
-
IRIS_TTNEVER — InterSystems IRIS は、ターミナルの設定を変更できません。
-
IRIS_TTNONE — InterSystems IRIS は、主入出力デバイスからの入出力はできません。これは主入力、および主出力に対して NULL デバイスを指定することと同等です。主入力からの Read コマンドは <ENDOFFILE> エラーを生成し、主出力への Write コマンドは無視されます。
-
IRIS_TTNOUSE — このフラグは、IRIS_TTALL、IRIS_TTCALLIN、および IRIS_TTSTART で使用可能です。これは、IRIS_TTNEVER フラグと IRIS_TTNONE フラグにより暗黙的に設定されます。最初に主入力と主出力を開いた後は、InterSystems IRIS の Open コマンドと Use コマンドを使用してもターミナルの変更はできなくなります。
IrisSecureStartW の返り値
IRIS_ACCESSDENIED |
認証が失敗しました。実際の認証エラーについて、監査ログを確認してください。 |
IRIS_ALREADYCON |
既に接続されています。$ZF 関数から IrisSecureStartH を呼び出した場合に返されます。 |
IRIS_CHANGEPASSWORD |
パスワードの変更が必要です。この返り値は、InterSystems 認証を使用している場合にのみ返されます。 |
IRIS_CONBROKEN |
接続が確立され、その後切断されました。また、IrisEnd は、削除するために呼び出されませんでした。 |
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_STRTOOLONG |
prinp または prout が長すぎます。 |
IRIS_SUCCESS |
接続が確立されました。 |
フラグ・パラメータは、C プログラムの振る舞いと、InterSystems IRIS ターミナル属性の設定方法を通知します。時間はかかりますが最も安全な方法は、ObjectScript の呼び出しごとに InterSystems IRIS からターミナルを設定し、その設定をリストアすることです。ただし、ユーザ自身が設定を処理し、プログラムに関連する情報のみ収集すれば、ObjectScript のオーバーヘッドを軽減できます。パラメータ IRIS_TTNEVER により、オーバーヘッドを最小限にできます。
IrisSetDir
int IrisSetDir(char * dir)
引数
説明
実行時に、マネージャのディレクトリ (IrisSys\Mgr) の名前を動的に設定します。Windows では、InterSystems IRIS の共有ライブラリ・バージョンで、インストールのマネージャ・ディレクトリを識別するためにこの関数を使用する必要があります。
IrisSetDir の返り値
IRIS_FAILURE |
(コールイン実行可能プログラムの内部からではなく) $ZF 関数から呼び出された場合に返されます。 |
IRIS_SUCCESS |
制御関数が実行されました。 |
IrisSetProperty
int IrisSetProperty( )
説明
IrisPushProperty により定義されたプロパティの値を格納します。この呼び出しを行う前に、値を引数スタックにプッシュしておく必要があります。
IrisSetProperty の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisSignal
int IrisSignal(int signal)
引数
signal |
オペレーティング・システムの信号値です。 |
説明
ユーザ・プログラムにより補足された信号を InterSystems IRIS に渡します。
この関数は、IrisAbort に非常によく似ていますが、適切と思われる任意のアクションに対して、接続のスレッドまたはユーザ側から、InterSystems IRIS 側に、任意の既知の信号値を渡すことができます。例えば、InterSystems IRIS に対するユーザ定義の信号ハンドラで傍受された信号を渡すために使用できます。
例
rc = IrisSignal(CTRL_C_EVENT); // Windows response to Ctrl-C
rc = IrisSignal(CTRL_C_EVENT); // UNIX response to Ctrl-C
IrisSignal の返り値
IRIS_CONBROKEN |
接続は切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_NOTINIRIS |
現在コールイン・パートナーが InterSystems IRIS に存在しません。 |
IRIS_SUCCESS |
接続が確立されました。 |
IrisSPCReceive
int IrisSPCReceive(int * lenp, Callin_char_t * ptr)
引数
lenp |
受信する最大長です。返されるときに、実際に受信されたバイト数を示すように修正されます。 |
ptr |
メッセージを受信するバッファへのポインタです。lenp バイト以上にする必要があります。 |
説明
シングル・プロセス通信メッセージを受信します。現在のデバイスは、SPC モードで開かれた TCP でなければなりません。そうでない場合、IRIS_ERFUNCTION が返されます。
IrisSPCReceive の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERFUNCTION |
現在のデバイスが TCP デバイスでないか、接続されていません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
IrisSPCSend
int IrisSPCSend(int len, const Callin_char_t * ptr)
引数
len |
メッセージの長さ (単位はバイト) |
ptr |
メッセージを含む文字列へのポインタ。 |
説明
シングル・プロセス通信メッセージを送信します。現在のデバイスは、SPC モードで開かれた TCP でなければなりません。そうでない場合、IRIS_ERFUNCTION が返されます。
IrisSPCSend の返り値
IRIS_CONBROKEN |
接続は、深刻なエラーによって切断されました。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_ERSYSTEM |
データベース・エンジンが <SYSTEM> エラーを生成した、またはコールインが内部データの不整合を検出しました。 |
IRIS_ERFUNCTION |
現在のデバイスが TCP デバイスでないか、接続されていません。 |
IRIS_ERARGSTACK |
引数スタックがオーバーフローしています。 |
IRIS_ERSTRINGSTACK |
文字列スタックがオーバーフローしています。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |
任意の InterSystems IRIS エラー |
名前の変換によります。 |
IrisStartA
バリアント : IrisStartW、 IrisStartH
int IrisStartA(unsigned long flags, int tout, IRIS_ASTRP prinp, IRIS_ASTRP prout)
引数
flags |
以下に説明する値の 1 つまたは複数を取ります。 |
tout |
秒単位で指定されたタイムアウト値です。既定値は 0 です。0 を指定すると、タイムアウトにはなりません。タイムアウトは、パーティションが使用可能になるまで待機する場合にのみ適用されます。パーティションの初期化、内部リソースの待機、主入出力デバイスを開く処理などには適用されません。 |
prinp |
InterSystems IRIS の主入力デバイスを定義する文字列です。空の文字列 (prinp.len == 0) はプロセスの主デバイスの使用を意味しています。NULL ポインタ ((void *) 0) は NULL デバイスの使用を意味しています。 |
prout |
InterSystems IRIS の主出力デバイスを定義する文字列です。空の文字列 (prout.len == 0) はプロセスの主デバイスの使用を意味しています。NULL ポインタ ((void *) 0) は NULL デバイスの使用を意味しています。 |
説明
InterSystems IRIS プロセスをセットアップするために、InterSystems IRIS を呼び出します。
このコマンドを実行すると、最初の入出力操作を待たずに、入力デバイス (prinp)、および出力デバイス (prout) が開きます。これに対し、接続を開始した場合は通常、主入力デバイスまたは主出力デバイスは、最初に使用されるまで開きません。
flags 変数の有効な値は以下のとおりです。
-
IRIS_PROGMODE — InterSystems IRIS により、接続は、アプリケーション・モードではなく、プログラマ・モードの接続として扱われます。つまり、呼び出し側関数に対して明確なエラーが報告され、接続は有効なままになります (既定では、コールイン接続は、アプリケーション・モードでのルーチンの実行のようなものです。InterSystems IRIS により実行時のエラーが検知されると、接続が閉じられ、現在の操作に対してエラー IRIS_CONBROKEN が返されるだけでなく、それ以降に、新しい接続を確立せずにコールインを使用しようとしても、同じエラーが返されます)。
-
IRIS_TTALL — 既定値。InterSystems IRIS はターミナルの設定を初期化し、インタフェースを呼び出して戻るたびに、その設定をリストアする必要があります。
-
IRIS_TTCALLIN — InterSystems IRIS は、ターミナルが呼び出されるたびにそのターミナルを初期化しますが、ターミナルのリストアは IrisEnd が呼び出されたときまたは接続が切断されたときにのみ実行します。
-
IRIS_TTSTART — InterSystems IRIS は、接続の確立時にターミナルを初期化し、切断時にターミナルをリセットする必要があります。
-
IRIS_TTNEVER — InterSystems IRIS は、ターミナルの設定を変更できません。
-
IRIS_TTNONE — InterSystems IRIS は、主入出力デバイスからの入出力はできません。これは主入力、および主出力に対して NULL デバイスを指定することと同等です。主入力からの Read コマンドは <ENDOFFILE> エラーを生成し、主出力への Write コマンドは無視されます。
-
IRIS_TTNOUSE — このフラグは、IRIS_TTALL、IRIS_TTCALLIN、および IRIS_TTSTART で使用可能です。これは、IRIS_TTNEVER フラグと IRIS_TTNONE フラグにより暗黙的に設定されます。最初に主入力と主出力を開いた後は、InterSystems IRIS の Open コマンドと Use コマンドを使用してもターミナルの変更はできなくなります。
IrisStartA の返り値
IRIS_ALREADYCON |
既に接続されています。$ZF 関数から IrisStartA を呼び出した場合に返されます。 |
IRIS_CONBROKEN |
接続が確立され、その後切断されました。また、IrisEndA は、削除するために呼び出されませんでした。 |
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_STRTOOLONG |
prinp または prout が長すぎます。 |
IRIS_SUCCESS |
接続が確立されました。 |
フラグ・パラメータは、C プログラムの振る舞いと、InterSystems IRIS ターミナル属性の設定方法を通知します。時間はかかりますが最も安全な方法は、ObjectScript の呼び出しごとに InterSystems IRIS からターミナルを設定し、その設定をリストアすることです。ただし、ユーザ自身が設定を処理し、プログラムに関連する情報のみ収集すれば、ObjectScript のオーバーヘッドを軽減できます。パラメータ IRIS_TTNEVER により、オーバーヘッドを最小限にできます。
例
InterSystems IRIS プロセスが開始されます。ターミナルは、各インタフェースのコールイン関数の後にリセットされます。20 秒以内にパーティションが割り当てられない場合、起動は失敗します。ファイル dobackup は、入力用に使用します。このファイルには、InterSystems IRIS バックアップ用の ObjectScript スクリプトが含まれます。出力は、ターミナルに表示されます。
IRIS_ASTR inpdev;
IRIS_ASTR outdev;
int rc;
strcpy(inpdev.str, "[BATCHDIR]dobackup");
inpdev.len = strlen(inpdev.str);
strcpy(outdev.str,"");
outdev.len = strlen(outdev.str);
rc = IrisStartA(IRIS_TTALL|IRIS_TTNOUSE,0,inpdev,outdev);
IrisStartH
バリアント : IrisStartA、 IrisStartW
int IrisStartH(unsigned long flags,int tout,IRISHSTRP prinp,IRISHSTRP prout)
引数
flags |
以下に説明する値の 1 つまたは複数を取ります。 |
tout |
秒単位で指定されたタイムアウト値です。既定値は 0 です。0 を指定すると、タイムアウトにはなりません。タイムアウトは、パーティションが使用可能になるまで待機する場合にのみ適用されます。パーティションの初期化、内部リソースの待機、主入出力デバイスを開く処理などには適用されません。 |
prinp |
InterSystems IRIS の主入力デバイスを定義する文字列です。空の文字列 (prinp.len == 0) はプロセスの主デバイスの使用を意味しています。NULL ポインタ ((void *) 0) は NULL デバイスの使用を意味しています。 |
prout |
InterSystems IRIS の主出力デバイスを定義する文字列です。空の文字列 (prout.len == 0) はプロセスの主デバイスの使用を意味しています。NULL ポインタ ((void *) 0) は NULL デバイスの使用を意味しています。 |
説明
InterSystems IRIS プロセスをセットアップするために、InterSystems IRIS を呼び出します。
このコマンドを実行すると、最初の入出力操作を待たずに、入力デバイス (prinp)、および出力デバイス (prout) が開きます。これに対し、接続を開始した場合は通常、主入力デバイスまたは主出力デバイスは、最初に使用されるまで開きません。
flags 変数の有効な値は以下のとおりです。
-
IRIS_PROGMODE — InterSystems IRIS により、接続は、アプリケーション・モードではなく、プログラマ・モードの接続として扱われます。つまり、呼び出し側関数に対して明確なエラーが報告され、接続は有効なままになります (既定では、コールイン接続は、アプリケーション・モードでのルーチンの実行のようなものです。InterSystems IRIS により実行時のエラーが検知されると、接続が閉じられ、現在の操作に対してエラー IRIS_CONBROKEN が返されるだけでなく、それ以降に、新しい接続を確立せずにコールインを使用しようとしても、同じエラーが返されます)。
-
IRIS_TTALL — 既定値。InterSystems IRIS はターミナルの設定を初期化し、インタフェースを呼び出して戻るたびに、その設定をリストアする必要があります。
-
IRIS_TTCALLIN — InterSystems IRIS は、ターミナルが呼び出されるたびにそのターミナルを初期化しますが、ターミナルのリストアは IrisEnd が呼び出されたときまたは接続が切断されたときにのみ実行します。
-
IRIS_TTSTART — InterSystems IRIS は、接続の確立時にターミナルを初期化し、切断時にターミナルをリセットする必要があります。
-
IRIS_TTNEVER — InterSystems IRIS は、ターミナルの設定を変更できません。
-
IRIS_TTNONE — InterSystems IRIS は、主入出力デバイスからの入出力はできません。これは主入力、および主出力に対して NULL デバイスを指定することと同等です。主入力からの Read コマンドは <ENDOFFILE> エラーを生成し、主出力への Write コマンドは無視されます。
-
IRIS_TTNOUSE — このフラグは、IRIS_TTALL、IRIS_TTCALLIN、および IRIS_TTSTART で使用可能です。これは、IRIS_TTNEVER フラグと IRIS_TTNONE フラグにより暗黙的に設定されます。最初に主入力と主出力を開いた後は、InterSystems IRIS の Open コマンドと Use コマンドを使用してもターミナルの変更はできなくなります。
IrisStartH の返り値
IRIS_ALREADYCON |
既に接続されています。$ZF 関数から IrisStartH を呼び出した場合に返されます。 |
IRIS_CONBROKEN |
接続が確立され、その後切断されました。また、IrisEndH は、削除するために呼び出されませんでした。 |
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_STRTOOLONG |
prinp または prout が長すぎます。 |
IRIS_SUCCESS |
接続が確立されました。 |
フラグ・パラメータは、C プログラムの振る舞いと、InterSystems IRIS ターミナル属性の設定方法を通知します。時間はかかりますが最も安全な方法は、ObjectScript の呼び出しごとに InterSystems IRIS からターミナルを設定し、その設定をリストアすることです。ただし、ユーザ自身が設定を処理し、プログラムに関連する情報のみ収集すれば、ObjectScript のオーバーヘッドを軽減できます。パラメータ IRIS_TTNEVER により、オーバーヘッドを最小限にできます。
例
InterSystems IRIS プロセスが開始されます。ターミナルは、各インタフェースのコールイン関数の後にリセットされます。20 秒以内にパーティションが割り当てられない場合、起動は失敗します。ファイル dobackup は、入力用に使用します。このファイルには、InterSystems IRIS バックアップ用の ObjectScript スクリプトが含まれます。出力は、ターミナルに表示されます。
inpdev;
outdev;
int rc;
strcpy(inpdev.str, "[BATCHDIR]dobackup");
inpdev.len = strlen(inpdev.str);
strcpy(outdev.str,"");
outdev.len = strlen(outdev.str);
rc = IrisStartH(IRIS_TTALL|IRIS_TTNOUSE,0,inpdev,outdev);
IrisStartW
バリアント : IrisStartA、 IrisStartH
int IrisStartW(unsigned long flags,int tout,IRISWSTRP prinp,IRISWSTRP prout)
引数
flags |
以下に説明する値の 1 つまたは複数を取ります。 |
tout |
秒単位で指定されたタイムアウト値です。既定値は 0 です。0 を指定すると、タイムアウトにはなりません。タイムアウトは、パーティションが使用可能になるまで待機する場合にのみ適用されます。パーティションの初期化、内部リソースの待機、主入出力デバイスを開く処理などには適用されません。 |
prinp |
InterSystems IRIS の主入力デバイスを定義する文字列です。空の文字列 (prinp.len == 0) はプロセスの主デバイスの使用を意味しています。NULL ポインタ ((void *) 0) は NULL デバイスの使用を意味しています。 |
prout |
InterSystems IRIS の主出力デバイスを定義する文字列です。空の文字列 (prout.len == 0) はプロセスの主デバイスの使用を意味しています。NULL ポインタ ((void *) 0) は NULL デバイスの使用を意味しています。 |
説明
InterSystems IRIS プロセスをセットアップするために、InterSystems IRIS を呼び出します。
このコマンドを実行すると、最初の入出力操作を待たずに、入力デバイス (prinp)、および出力デバイス (prout) が開きます。これに対し、接続を開始した場合は通常、主入力デバイスまたは主出力デバイスは、最初に使用されるまで開きません。
flags 変数の有効な値は以下のとおりです。
-
IRIS_PROGMODE — InterSystems IRIS により、接続は、アプリケーション・モードではなく、プログラマ・モードの接続として扱われます。つまり、呼び出し側関数に対して明確なエラーが報告され、接続は有効なままになります (既定では、コールイン接続は、アプリケーション・モードでのルーチンの実行のようなものです。InterSystems IRIS により実行時のエラーが検知されると、接続が閉じられ、現在の操作に対してエラー IRIS_CONBROKEN が返されるだけでなく、それ以降に、新しい接続を確立せずにコールインを使用しようとしても、同じエラーが返されます)。
-
IRIS_TTALL — 既定値。InterSystems IRIS はターミナルの設定を初期化し、インタフェースを呼び出して戻るたびに、その設定をリストアする必要があります。
-
IRIS_TTCALLIN — InterSystems IRIS は、ターミナルが呼び出されるたびにそのターミナルを初期化しますが、ターミナルのリストアは IrisEnd が呼び出されたときまたは接続が切断されたときにのみ実行します。
-
IRIS_TTSTART — InterSystems IRIS は、接続の確立時にターミナルを初期化し、切断時にターミナルをリセットする必要があります。
-
IRIS_TTNEVER — InterSystems IRIS は、ターミナルの設定を変更できません。
-
IRIS_TTNONE — InterSystems IRIS は、主入出力デバイスからの入出力はできません。これは主入力、および主出力に対して NULL デバイスを指定することと同等です。主入力からの Read コマンドは <ENDOFFILE> エラーを生成し、主出力への Write コマンドは無視されます。
-
IRIS_TTNOUSE — このフラグは、IRIS_TTALL、IRIS_TTCALLIN、および IRIS_TTSTART で使用可能です。これは、IRIS_TTNEVER フラグと IRIS_TTNONE フラグにより暗黙的に設定されます。最初に主入力と主出力を開いた後は、InterSystems IRIS の Open コマンドと Use コマンドを使用してもターミナルの変更はできなくなります。
IrisStartW の返り値
IRIS_ALREADYCON |
既に接続されています。$ZF 関数から IrisStartW を呼び出した場合に返されます。 |
IRIS_CONBROKEN |
接続が確立され、その後切断されました。また、IrisEndW は、削除するために呼び出されませんでした。 |
IRIS_FAILURE |
予期しないエラーが発生しました。 |
IRIS_STRTOOLONG |
prinp または prout が長すぎます。 |
IRIS_SUCCESS |
接続が確立されました。 |
フラグ・パラメータは、C プログラムの振る舞いと、InterSystems IRIS ターミナル属性の設定方法を通知します。時間はかかりますが最も安全な方法は、ObjectScript の呼び出しごとに InterSystems IRIS からターミナルを設定し、その設定をリストアすることです。ただし、ユーザ自身が設定を処理し、プログラムに関連する情報のみ収集すれば、ObjectScript のオーバーヘッドを軽減できます。パラメータ IRIS_TTNEVER により、オーバーヘッドを最小限にできます。
例
InterSystems IRIS プロセスが開始されます。ターミナルは、各インタフェースのコールイン関数の後にリセットされます。20 秒以内にパーティションが割り当てられない場合、起動は失敗します。ファイル dobackup は、入力用に使用します。このファイルには、InterSystems IRIS バックアップ用の ObjectScript スクリプトが含まれます。出力は、ターミナルに表示されます。
inpdev;
outdev;
int rc;
strcpy(inpdev.str, "[BATCHDIR]dobackup");
inpdev.len = strlen(inpdev.str);
strcpy(outdev.str,"");
outdev.len = strlen(outdev.str);
rc = IrisStartW(IRIS_TTALL|IRIS_TTNOUSE,0,inpdev,outdev);
IrisTCommit
int IrisTCommit( )
説明
InterSystems IRIS TCommit コマンドを実行します。
IrisTCommit の返り値
IRIS_SUCCESS |
TCommit は正常に終了しました。 |
IrisTLevel
int IrisTLevel( )
説明
トランザクション処理に対する、現在の入れ子レベル ($TLEVEL) を返します。
IrisTLevel の返り値
IRIS_SUCCESS |
TLevel は正常に終了しました。 |
IrisTRollback
int IrisTRollback(int nlev)
引数
nlev |
ロールバックするレベル数を決定します (0 の場合はすべてのレベル、1 の場合は 1 つのレベル)。 |
説明
InterSystems IRIS TRollback コマンドを実行します。nlev が 0 の場合、TSTART が発行されているレベル数に関係なく、処理中のすべてのトランザクションをロールバックし、$TLEVEL を 0 にリセットします。nlev が 1 の場合、入れ子になったトランザクションの現在のレベル (最新の TSTART によって開始されたレベル) をロールバックし、$TLEVEL を 1 デクリメントします。
IrisTRollback の返り値
IRIS_SUCCESS |
TStart は正常に終了しました。 |
IrisTStart
int IrisTStart( )
説明
InterSystems IRIS TStart コマンドを実行します。
IrisTStart の返り値
IRIS_SUCCESS |
TStart は正常に終了しました。 |
IrisType
int IrisType( )
説明
IrisEvalA、IrisEvalW、または IrisEvalH により関数値として返される項目の、ネイティブ・タイプを返します。
IrisType の返り値
IRIS_ASTRING |
8 ビットの文字列。 |
IRIS_CONBROKEN |
接続は、深刻なエラー状態、または RESJOB によって切断されました。 |
IRIS_DOUBLE |
64 ビットの浮動小数点。 |
IRIS_ERSYSTEM |
ObjectScript が <SYSTEM> エラーを生成した場合または $ZF 関数から呼び出された場合は、内部カウンタが同期していない可能性があります。 |
IRIS_IEEE_DBL |
IEEE の 64 ビットの浮動小数点。 |
IRIS_INT |
32 ビットの整数。 |
IRIS_NOCON |
接続が確立されていません。 |
IRIS_NORES |
返すことができるタイプを持つ結果がありません (この呼び出しの前に、IrisEvalA または IrisEvalW が呼び出されていません)。 |
IRIS_OREF |
InterSystems IRIS オブジェクト参照。 |
IRIS_WSTRING |
Unicode 文字列。 |
例
rc = IrisType();
IrisUnPop
int IrisUnPop( )
説明
IrisPop からスタック・エントリをリストアします。
IrisUnPop の返り値
IRIS_NORES |
返すことができるタイプを持つ結果が、この呼び出しの前にありません。 |
IRIS_SUCCESS |
操作は正常に終了しました。 |