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

4.10 Mp_ExecRemoteCmd()関数

機能説明

Mp_OpenRemoteCmd()関数発行後、Mp_ExecRemoteCmd()関数を発行することにより、コマンド要求を行います。

呼び出し形式

【Windows版】

#include <mp_opagt_api.h>
int Mp_ExecRemoteCmd( fp, node, NodeID, DatabaseID, cmdtext,
                      execflag );

HANDLE fp;          /*  Mp_OpenRemoteCmd()で獲得したハンドル */
char   *node;       /*  コマンド要求先のノード名を指定する   */
DWORD  *NodeID;     /*  NULLを指定する                       */
DWORD  *DatabaseID; /*  NULLを指定する                       */
char   *cmdtext;    /*  発行するコマンドテキストを指定する   */
int    execflag;    /*  コマンド実行フラグを指定する         */

【UNIX版】

#include <mp_opagt_api.h>
int Mp_ExecRemoteCmd( fp, node, rsv, cmdtext, execflag );

int   fp;           /*  Mp_OpenRemoteCmd()で獲得した記述子   */
char  *node;        /*  コマンド要求先のノード名を指定する   */
char  *rsv;         /*  NULLを指定する                       */
char  *cmdtext;     /*  発行するコマンドテキストを指定する   */
int   execflag;     /*  コマンド実行フラグを指定する         */

パラメタ

fp:

Mp_OpenRemoteCmd()で獲得したハンドルを指定します。

node:

コマンド要求先システムのノード名を128バイト以内で指定します。

cmdtext:

発行するコマンドテキストを2047バイト以内で指定します。

execflag:

コマンドを実行する際の条件をフラグで指定します。
execflagは、いくつかのグループで構成され、各グループから1つ値を選択できます。

実行権限フラグ

以下のWindows OSでは無効です。

  • Windows NT(R)

  • Windows(R) 2000

  • Windows Server 2003 STD/Windows Server 2003 DTC/Windows Server 2003 EE

  • Windows Server 2008 STD/Windows Server 2008 DTC/Windows Server 2008 EE/Windows Server 2008 for Itanium-Based Systems/Windows Server 2008 Foundation/Windows Server 2008 R2

OP_CMD_NOROOT:

コマンド要求先システムで定義されたコマンドシェルおよび利用者権限でコマンドが実行されます(初期設定)。

OP_CMD_ROOT:

コマンド要求先システムの、初期設定のコマンドシェルおよび特権利用者権限でコマンドが実行されます。

応答フラグ
OP_CMD_REPLY:

コマンド結果応答およびコマンド最終応答を受け取ることができます(初期設定)。

OP_CMD_NOREPLY:

コマンド結果応答を受け取ることはできません。コマンド最終応答だけ受け取ることができます。

ロギングフラグ
OP_CMD_LOG:

コマンド要求、コマンド結果応答、コマンド最終応答のデータをロギングします (初期設定)。

OP_CMD_NOLOG:

コマンド要求、コマンド結果応答、コマンド最終応答のデータをロギングしません。

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

【Windows版】

【UNIX版】

復帰値

-1以外:

正常終了。コマンド要求とコマンド応答を対応付けるための識別子。

-1:

異常終了。異常終了した場合の詳細なエラーコードは、以下の方法で取得/参照してください。

【Windows版】

GetLastError()で取得してください。

【UNIX版】

エラーコードは、errnoに設定されます。
errnoには、システムのエラーコード(/usr/include/sys/errno.hに定義)、または/opt/systemwalker/include/mp_operr_api.hに定義されている値が設定されます。

API格納場所

リモートコマンドのAPI”を参照してください。