ページの先頭行へ戻る
Systemwalker Centric Manager API・スクリプトガイド

3.1.4 リモートコマンド処理の出口用API

リモートコマンドの出口(DLL)をあらかじめ用意することで、以下の項目をカスタマイズすることができます。

作成したDLLは、DLL名を“mprcmdex.dll”とし、リモートコマンドを実際に発行する運用管理クライアントのパスの通った任意のディレクトリに格納してください。

リモートコマンドの出口情報には以下の2つの関数があります。

なお、コンソール操作制御が有効な場合、コマンドラインのチェック対象は[リモートコマンド実行]画面の実行コマンドに入力されたコマンドです。

呼び出し形式

__declspec(dllexport) int __stdcall ChkRcmd2(
                              char *lpCommand,
                              int iHostCount,
                              char **lpHostname,
                              char **lpRuntype,
                              struct MP_CHKRCMD *mp_chkrcmd_ptr,
                              int iReserv,
                              struct stRcmdData *returnData)

パラメタ

char *lpCommand

リモートコマンド実行画面で入力された入力文字列

int iHostCount

リモートコマンド発行先ホスト数(注1)

char **lpHostname

リモートコマンド発行先ホスト名

char **lpRuntype

リモートコマンド発行先ホストの運用形態名

struct MP_CHKRCMD *mp_chkrcmd_ptr

リモートコマンドを発行したユーザーID

int iReserv

予約域(注2)

struct stRcmdData *returnData

実行情報(リモートコマンドを実行できる場合に実行情報を設定してください。) (注3)

注1) リモートコマンド発行先ホスト名とリモートコマンド発行先ホストの運用形態名の数は同じになります。運用形態名のないホストの場合、対応する運用形態名の値にはNULLが設定されています。

注2) 予約域は参照、代入を行わないでください。

注3) 引数の実行情報には、リモートコマンドを実行できる場合に実行情報を設定してください。実行情報は呼び出し元で領域を確保しますので領域取得、開放処理を行わないでください。

また、コマンド文字列、およびメッセージ文字列サイズは以下が設定されます。

構造体の説明

struct MP_CHKRCMD{
    char Sw_user[40];     // SystemwalkerコンソールにログインしているユーザーID
                          // (参照のみ)
    char SW_con_user[70]  // コンソール操作制御の認証によって入力され
                          // たユーザーID (参照のみ)
    void *rsv;            // 予約域(参照、代入を行わないでください)
    int  *rsv2;           // 予約域(参照、代入を行わないでください)
};
     
struct stRcmdData{
     int iCommandLength;  //コマンド文字列(lpCommand)の領域サイズ(参照のみ)
     char *lpCommand;     //実行するコマンド文字列
     int iConfMsgflag;    //確認ダイアログを表示有無  1:表示する  0:表示しない
     int iReservLength;   //メッセージ(lpReserv)の領域サイズ(参照のみ)
     char *lpReserv;      //コマンド実行否の場合のメッセージ文字列
     int iReserv;         //予約域
};

以下のパラメタ/構造体を編集すれば、カスタマイズすることができます。

int iCommandLength

コマンド文字列(lpCommand)の領域サイズ(参照のみ)

char *lpCommand

実際に発行するコマンド文字列

これを編集することで“実際に発行するコマンド文字列”をカスタマイズすることができます。

int iConfMsgflag

確認メッセージの表示の是非

以下の値を設定することで確認メッセージの表示を制御できます。

0: 確認メッセージを表示しない。

1: 確認メッセージを表示する。

int iReservLength

メッセージ(lpReserv)の領域サイズ(参照のみ)

char *lpReserv

コマンド実行しない場合のメッセージ文字列

これに文字列を指定すると、リモートコマンド実行時にコマンド実行の可否の確認メッセージが表示されます。

文字列を指定しないと確認メッセージは表示されません。

int iReserv

予約域

代入しないでください。

復帰値

リモートコマンド発行の可否を、関数の復帰値により通知してください。

0:

リモートコマンドを実行する。

0以外:

リモートコマンドを実行しない。

実行に必要な権限/実行環境

【Windows版】

【UNIX版】

コンパイル環境

コンパイル環境は以下のとおりです。

【Windowsの場合】

注意事項

使用例

ヘッダファイルの使用例を以下に示します。

// File Name: mprcmdex.h
// Function :RemoteCommand
//コマンドチェック用の復帰値構造体
struct stRcmdData{
int       iCommandLength;    //コマンド文字列(lpCommand)の領域サイズ(参照のみ)
char      *lpCommand;        //コマンド文字列
int       iConfMsgflag;      //確認ダイアログを表示有無  1:表示する  0:表示しない
int       iReservLength;     //予約域(lpReserv)の領域サイズ(参照のみ)
char      *lpReserv;         //予約域
int       iReserv;           //予約域
};
struct MP_CHKRCMD{
    char Sw_user[40];     // SystemwalkerコンソールにログインしているユーザーID
                          // (参照のみ)
    char SW_con_user[70]  // コンソール操作制御の認証によって入力され
                          // たユーザーID (参照のみ)
void *rsv;                // 予約域(参照、代入を行わないでください)
    int  *rsv2;           // 予約域(参照、代入を行わないでください)
};

__declspec(dllexport) int __stdcall ChkRcmd2(char *,int,char **, char **, struct MP_CHKRCMD *, int,struct stRcmdData *);