Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

Windows クライアントからの InterSystems IRIS の制御

InterSystems IRIS には、InterSystems IRIS 構成を制御し、InterSystems IRIS プロセスを開始する Windows クライアント・プログラムのメカニズムが用意されています。これにより、標準 InterSystems IRIS ツールを使用せずに、正確な構成情報で InterSystems IRIS プロセスを自動的に開始するアプリケーションを配布できます。このツールにより、以下が可能になります。

  • 指定された構成名の InterSystems IRIS ディレクトリ・パスとサービス名を検索

  • InterSystems IRIS システムの状態を取得

  • InterSystems IRIS 構成を直接、あるいは InterSystems IRIS コントロール・サービスから制御。これは、実行中の Windows バージョンに依存します。

  • 適切な設定で InterSystems IRIS プロセスを開始

irisctl.dll を動的にロードし、その機能を使用することにより、これらのアクションを実行できます。

IRISctlGetDirs

指定された構成名に対して、構成・バイナリ・マネージャ、それぞれのディレクトリ・パスと、サービス名を検索します。

構文
IRISctlGetDirs(char *config, IRISCTL_DIR_INFO *dirinfo)
config 要求される構成名
dirinfo ディレクトリ情報が格納される C 構造へのポインタ
返り値

エラー時に (char *0) 返します。

IRISctlConfigStatus

InterSystems IRIS 構成の状態を返します。

構文
IRISctlConfigStatus(char* config)
config 要求される構成名
返り値

以下の 0 から 4 までの値を返します。

0 構成は起動され、実行中です。
1 構成は、開始あるいは終了中です。
2 構成の開始あるいはシャット・ダウンがアボートされました。
3 構成はダウンしました。
4 エラー

IRISctlControl

Windows NT の InterSystems IRIS コントロール・サービスを経由して、あるいは Windows 95/98 で直接 InterSystems IRIS 構成を制御します。

構文
IRISctlControl(char *command, char *config)
command 以下のコマンドのいずれか 1 つを使用します。
  • start — 構成を開始

  • stop — 構成の無理のないシャット・ダウン

  • stopnoshut — ユーザ提供のシャット・ダウン・ルーチンを実行せずに、構成をシャット・ダウン

  • force — 構成の強制終了。UNIX® システムの irisforce と同じです。

  • stopstart — 無理のない構成の停止と、すばやい再起動

config 要求される構成名
返り値
IRISCTL_SUCCESS 処理の成功
IRISCTL_ERROR 汎用エラー
IRISCTL_INVALID_COMMAND 無効なコマンド引数
IRISCTL_INVALID_CONFIGURATION 未定義の構成
IRISCTL_CONTROL_STU_ERROR ^STU の失敗

IRISctlGetLastError は、エラーの返り値の後ろに、エラー文字列情報へのポインタを返します。

IRISctlRun

指示された構成とネームスペースで InterSystems IRIS プロセスを開始し、指示された主要入出力デバイスを使用し、指示されたルーチンを呼び出します。

構文
IRISctlRun(char *config, char *routine, char *namespace, char *IOtype)
config 実行中の構成名です。
routine 開始するために要求されるルーチン名です。
namespace 要求されるネームスペース名です。
IOtype 入出力の処理方法です。以下の値を指定できます。
  • terminal — プロセスによって、新しい InterSystems IRIS プログラマのターミナルが起動します。

  • none — 入出力なし。プロセスは、NUL でバックグラウンドで実行されます。$Principal で使用されます。$Principal への書き込みは破棄されます。$Principal からの読み取りはエラーになります。

返り値
IRISCTL_SUCCESS 処理の成功
IRISCTL_ERROR 汎用エラー
IRISCTL_INVALID_COMMAND 無効なコマンド引数
IRISCTL_INVALID_CONFIGURATION 未定義の構成
IRISCTL_CONTROL_STU_ERROR ^STU の失敗
Note:

Windows NT では、指定の構成を実行する必要があります。構成が実行中かどうかが判別できない場合、IRISctlConfigStatusIRISctlControl を使用してチェックし、必要な構成を開始してください。これにより InterSystems IRIS は、コントロール・サービスを使用せずに構成を開始しないようにします。

IRISctlRunIO

指示された構成とネームスペースで InterSystems IRIS プロセスを開始し、指示された主要入出力デバイス・タイプを使用し、指示されたルーチンと、入出力デバイスおよびエラー・デバイス用の追加の入出力仕様を呼び出します。

構文
IRISctlRunIO(
        char *config,
        char *routine,
        char *namespace,
        char *IOtype,
        HANDLE *hIO,
        char *cwd,
        char *options,
        HANDLE *child,
        DWORD *childPID))
config 実行中の構成名で、すべて大文字です。
routine 開始するために要求されるルーチン名です。
namespace 要求されるネームスペース名です。
IOtype 入出力の処理方法です。プロセスで TCP ソケットが使用されるため、値は TCP である必要があります。
hIO 3 つの配列は、InterSystems IRIS プロセスの標準入出力、エラー・デバイスとして使用するために処理します。
cwd 子プロセスの作業中のディレクトリ・パスです。ディレクトリ引数が 0 の場合、現在のプロセスの作業ディレクトリを使用します。
option 追加の irisdb.exe コマンド行オプションが、生成されたコマンド行に追加されます。例えば、大規模プロセスのメモリ・サイズ (-b 1024) を定義できます。
child 子プロセスへのハンドルが返される HANDLE タイプ変数へのポインタです。ハンドルの値が 0 の場合、子プロセスのハンドルは、この関数によってクローズされます。
childPID 生成された irisdb.exe プロセスの PID へのポインタです。 この引数は、子の PID が要求されない場合、ゼロになります。
返り値
IRISCTL_SUCCESS 処理の成功
IRISCTL_ERROR 汎用エラー
IRISCTL_INVALID_COMMAND 無効なコマンド引数
IRISCTL_INVALID_CONFIGURATION 未定義の構成
IRISCTL_CONTROL_STU_ERROR ^STU の失敗
Note:

hIO 配列のハンドルは、必ず継承できる必要があります。 DuplicateHandle を使用して、子プロセスによるハンドルの継承を可能にします。

Windows NT では、指定の構成を実行する必要があります。構成が実行中かどうかが判別できない場合、IRISctlConfigStatusIRISctlControl を使用してチェックし、必要な構成を開始してください。これにより InterSystems IRIS は、コントロール・サービスを使用せずに構成を開始しないようにします。

FeedbackOpens in a new tab