Adm

Admの概要

名前空間

Hitachi.OpenTP1.Server

継承関係

System.Object
 +- Hitachi.OpenTP1.Server.Adm

説明

Admクラスは,システム運用の管理のメソッドを提供します。

メソッドの一覧

名称説明
CallCommand(System.String, System.Int32&, System.String&, System.String&, System.Int32)オンライン中にコマンドを入力したときと同様に,UAPからコマンドを渡します。
CallCommand(System.String, System.Int32&, System.String&, System.Int32, System.String&, System.Int32, System.Int32)オンライン中にコマンドを入力したときと同様に,UAPからコマンドを渡します。
Complete()SUP.NETの開始処理が終了したことを,OpenTP1に報告します。
GetStatus()このメソッドを呼び出したユーザサーバの状態を報告します。

メソッドの詳細

CallCommand

説明
オンライン中にコマンドを入力したときと同様に,UAPからコマンドを渡します。
このときのプロセスは,コマンドが処理を完了するまで待ち,コマンドの終了ステータスを戻します。コマンドの処理が終了すると,標準出力情報と標準エラー出力情報が返ります。
コマンドを実行するUAPを使うOpenTP1には,コマンドを格納しているディレクトリをサーチパスに追加してください。
サーチパスを追加する方法を次に示します。どれかの方法を用いてください。
  • プロセスサービス定義のprcsvpathオペランドにコマンドのパス名を指定
  • prcpathコマンドでサーチパスを追加
  • ユーザサービス定義に環境変数を"putenv PATH"と指定
宣言
【C#の場合】

public static int CallCommand(
 string command,
 ref int statusCode,
 ref string stdoutMessage,
 ref string stderrMessage,
 int flags
);

【Visual Basicの場合】

Public Shared Function CallCommand( _
 ByVal command As String, _
 ByRef statusCode As Integer, _
 ByRef stdoutMessage As String, _
 ByRef stderrMessage As String, _
 ByVal flags As Integer _
) As Integer

【J#の場合】

public static int CallCommand(
 System.String command,
 int statusCode,
 System.String stdoutMessage,
 System.String stderrMessage,
 int flags
);

パラメタ
command
実行するコマンドの文字列を設定します。
statusCode
指定したコマンドのリターン値を格納します。
stdoutMessage
指定したコマンドの標準出力に出力された文字列を格納します。
デフォルト取得サイズ(4096)を超えた分は,切り捨てられます。
stderrMessage
指定したコマンドの標準エラー出力に出力された文字列を格納します。
デフォルト取得サイズ(4096)を超えた分は,切り捨てられます。
flags
標準出力または標準エラー出力メッセージのデータを完全には取得できなかった場合の,CallCommandメソッドの動作を設定します。
  • TP1ServerFlags.DCADM_DELAY
    実行したコマンドの処理を中断して,例外を発行します。
  • TP1ServerFlags.DCNOFLAGS
    取得できた分のデータを格納して,エラーリターンします。
戻り値
メソッドのリターンコードを返します。
リターンコード説明
0 (DC_OK)正常終了しました。
-1855(DCADMER_STATNOTZERO)コマンドの終了コードは0以外(コマンドの実行が異常終了)です。
標準出力および標準エラー出力のデータを格納しました。
-1856(DCADMER_MEMORY_OUT)標準出力のデータが,デフォルト取得サイズを超えました。
デフォルトサイズ分の標準出力のデータを格納しました。
-1857(DCADMER_MEMORY_ERR)標準エラー出力のデータが,デフォルト取得サイズを超えました。
デフォルトサイズ分の標準エラー出力のデータを格納しました。
-1858(DCADMER_MEMORY_OUTERR)標準出力のデータと標準エラー出力のデータの両方が,デフォルト取得サイズを超えました。
デフォルトサイズ分の標準出力および標準エラー出力のデータを格納しました。
例外
Hitachi.OpenTP1.Server.TP1ServerException
次の情報が出力されます。
  • メッセージ
    OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。
    "OpenTP1提供関数実行時にエラーが発生しました。"
    それ以外の場合は,各エラーに対応したメッセージが出力されます。
  • クラス名
    例外が発生したクラス名が出力されます。
  • メソッド名
    例外が発生したメソッド名が出力されます。
  • 引数名(OpenTP1提供関数呼び出し前の引数チェックでエラーになった場合にだけ出力)
    例外が発生する原因となった引数名が出力されます。
  • エラーコード
    発生原因に応じ,次のエラーコードが出力されます。
    エラーコード説明
    DCADMER_MEMORY_ERR標準エラー出力のデータが,デフォルトの取得サイズを超えました。
    DCADMER_MEMORY_OUT標準出力のデータが,デフォルトの取得サイズを超えました。
    DCADMER_MEMORY_OUTERR標準出力のデータと標準エラー出力のデータの両方が,デフォルトの取得サイズを超えました。
    DCADMER_PARAM引数に設定した値が間違っています。
    DCADMER_PROTORpcクラスのOpenメソッドを呼び出していません。
    DCADMER_STATNOTZEROコマンドの終了コードは0以外(コマンドの実行が異常終了)です。
    DCADMER_SYSTEMCALLシステムコール(close,pipe,dup,またはread)の呼び出しに失敗しました。
注意事項
サーチパスに指定したディレクトリ間で,コマンド名が重複しないように注意してください。コマンド名が重複している場合,正しいコマンドが起動されないで別のコマンドが起動されます。
また,コマンド名は,OpenTP1が提供するコマンド群(%DCDIR%¥binの下)のコマンド名とも重複しないようにしてください。
なお,「%DCDIR%」はOpenTP1インストールディレクトリを表しています。

 

CallCommand

説明
オンライン中にコマンドを入力したときと同様に,UAPからコマンドを渡します。
このときのプロセスは,コマンドが処理を完了するまで待ち,コマンドの終了ステータスを戻します。コマンドの処理が終了すると,標準出力情報と標準エラー出力情報が返ります。
コマンドを実行するUAPを使うOpenTP1には,コマンドを格納しているディレクトリをサーチパスに追加してください。
サーチパスを追加する方法を次に示します。どれかの方法を用いてください。
  • プロセスサービス定義のprcsvpathオペランドにコマンドのパス名を指定
  • prcpathコマンドでサーチパスを追加
  • ユーザサービス定義に環境変数を"putenv PATH"と指定
宣言
【C#の場合】

public static int CallCommand(
 string command,
 ref int statusCode,
 ref string stdoutMessage,
 int stdoutMessage_len,
 ref string stderrMessage,
 int stderrMessage_len,
 int flags
);

【Visual Basicの場合】

Public Shared Function CallCommand( _
 ByVal command As String, _
 ByRef statusCode As Integer, _
 ByRef stdoutMessage As String, _
 ByVal stdoutMessage_len As Integer, _
 ByRef stderrMessage As String, _
 ByVal stderrMessage_len As Integer, _
 ByVal flags As Integer _
) As Integer

【J#の場合】

public static int CallCommand(
 System.String command,
 int statusCode,
 System.String stdoutMessage,
 int stdoutMessage_len,
 System.String stderrMessage,
 int stderrMessage_len,
 int flags
);

パラメタ
command
実行するコマンドの文字列を設定します。
statusCode
指定したコマンドのリターン値を格納します。
stdoutMessage
指定したコマンドの標準出力に出力された文字列を格納します。
stdoutMessage_lenパラメタで指定したサイズを超えた分は,切り捨てられます。
stdoutMessage_len
取得する標準出力のサイズを設定します。
stderrMessage
指定したコマンドの標準エラー出力に出力された文字列を格納します。
stderrMessage_lenパラメタで指定したサイズを超えた分は,切り捨てられます。
stderrMessage_len
取得する標準エラー出力のサイズを指定します。
flags
標準出力または標準エラー出力メッセージのデータを完全に取得できなかった場合の,CallCommandメソッドの動作を設定します。
  • TP1ServerFlags.DCADM_DELAY
    実行したコマンドの処理を中断して,例外を発行します。
  • TP1ServerFlags.DCNOFLAGS
    取得できた分のデータを格納して,エラーリターンします。
戻り値
メソッドのリターンコードを返します。
リターンコード説明
0 (DC_OK)正常終了しました。
-1855(DCADMER_STATNOTZERO)コマンドの終了コードは0以外(コマンドの実行が異常終了)です。
標準出力および標準エラー出力のデータを格納しました。
-1856(DCADMER_MEMORY_OUT)標準出力のデータが,指定取得サイズを超えました。
指定されたサイズ分の標準出力のデータを格納しました。
-1857(DCADMER_MEMORY_ERR)標準エラー出力のデータが,指定取得サイズを超えました。
指定されたサイズ分の標準エラー出力のデータを格納しました。
-1858(DCADMER_MEMORY_OUTERR)標準出力のデータと標準エラー出力のデータの両方が,指定取得サイズを超えました。
指定されたサイズ分の標準出力のデータおよび標準エラー出力のデータを格納しました。
例外
Hitachi.OpenTP1.Server.TP1ServerException
次の情報が出力されます。
  • メッセージ
    例外の内容が出力されます。
    OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。
    "OpenTP1提供関数実行時にエラーが発生しました。"
    それ以外の場合は,各エラーに対応したメッセージが出力されます。
  • クラス名
    例外が発生したクラス名が出力されます。
  • メソッド名
    例外が発生したメソッド名が出力されます。
  • 引数名(OpenTP1提供関数呼び出し前の引数チェックでエラーになった場合にだけ出力)
    例外が発生する原因となった引数名が出力されます。
  • エラーコード
    発生原因に応じ,次のエラーコードが出力されます。
    エラーコード説明
    DCADMER_MEMORY_ERR標準エラー出力のデータが,デフォルトの取得サイズを超えました。
    DCADMER_MEMORY_OUT標準出力のデータが,デフォルトの取得サイズを超えました。
    DCADMER_MEMORY_OUTERR標準出力のデータと標準エラー出力のデータの両方が,デフォルトの取得サイズを超えました。
    DCADMER_PARAM引数に設定した値が間違っています。
    DCADMER_PROTORpcクラスのOpenメソッドを呼び出していません。
    DCADMER_STATNOTZEROコマンドの終了コードは0以外(コマンドの実行が異常終了)です。
    DCADMER_SYSTEMCALLシステムコール(close,pipe,dup,またはread)の呼び出しに失敗しました。
注意事項
サーチパスに指定したディレクトリ間で,コマンド名が重複しないように注意してください。コマンド名が重複している場合,正しいコマンドが起動されないで別のコマンドが起動されます。
また,コマンド名は,OpenTP1が提供するコマンド群($DCDIR/binの下)のコマンド名とも重複しないようにしてください。
なお,「%DCDIR%」はOpenTP1インストールディレクトリを表しています。

 

Complete

説明
SUP.NETの開始処理が終了したことを,OpenTP1に報告します。
Completeメソッドが正常に終了したことで,SUP.NETの起動は完了します。
SPP.NETでは,Completeメソッドを呼び出す必要はありません。
オフラインの業務をするSUP.NETからはCompleteメソッドは呼び出せません。
宣言
【C#の場合】

public static void Complete(
);

【Visual Basicの場合】

Public Shared Sub Complete( _
)

【J#の場合】

public static void Complete(
);

パラメタ
なし
戻り値
なし
例外
Hitachi.OpenTP1.Server.TP1ServerException
次の情報が出力されます。
  • メッセージ
    例外の内容が出力されます。
    OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。
    "OpenTP1提供関数実行時にエラーが発生しました。"
    それ以外の場合は,各エラーに対応したメッセージが出力されます。
  • クラス名
    例外が発生したクラス名が出力されます。
  • メソッド名
    例外が発生したメソッド名が出力されます。
  • エラーコード
    発生原因に応じ,次のエラーコードが出力されます。
    エラーコード説明
    DCADMER_COMMプロセス間通信でエラーが発生しました。
    DCADMER_PARAM引数に設定した値が間違っています。
    DCADMER_PROTOユーザサーバが正常開始中,または再開始中ではありません。
    RpcクラスのOpenメソッドを呼び出していません。
    DCADMER_STS_IOステータス情報の入出力エラーが発生しました。

 

GetStatus

説明
このメソッドを呼び出したユーザサーバの状態を報告します。
ユーザサーバの状態はリターン値で報告されます。
宣言
【C#の場合】

public static int GetStatus(
);

【Visual Basicの場合】

Public Shared Function GetStatus( _
) As Integer

【J#の場合】

public static int GetStatus(
);

パラメタ
なし
戻り値
ユーザサーバの状態を返します。
  • TP1ServerValues.DCADM_STAT_START_NORMAL
    ユーザサーバは正常開始中です。
  • TP1ServerValues.DCADM_STAT_START_RECOVER
    ユーザサーバは再開始中です。
  • TP1ServerValues.DCADM_STAT_ONLINE
    ユーザサーバはオンライン中です。
  • TP1ServerValues.DCADM_STAT_STOP
    ユーザサーバは終了中です。
例外
Hitachi.OpenTP1.Server.TP1ServerException
次の情報が出力されます。
  • メッセージ
    例外の内容が出力されます。
    OpenTP1提供関数内でエラーが発生した場合は,次のように出力されます。
    "OpenTP1提供関数実行時にエラーが発生しました。"
    それ以外の場合は,各エラーに対応したメッセージが出力されます。
  • クラス名
    例外が発生したクラス名が出力されます。
  • メソッド名
    例外が発生したメソッド名が出力されます。
  • エラーコード
    発生原因に応じ,次のエラーコードが出力されます。
    エラーコード説明
    DCADMER_COMMプロセス間通信でエラーが発生しました。
    DCADMER_PARAM引数に設定した値が間違っています。
    DCADMER_PROTOユーザサーバが正常開始中,または再開始中ではありません。
    RpcクラスのOpenメソッドを呼び出していません。
    DCADMER_STS_IOステータス情報の入出力エラーが発生しました。