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

4.18 Mp_GetRemoteCmdMap()関数【Windows版】

機能説明

Mp_RespRemoteCmd()関数発行後にコマンド実行結果の受信が完了し、Mp_GetRemoteCmdMap()関数を呼び出すことにより、コマンド実行結果のデータを取り出します。

呼び出し形式

#include <mp_opagt_api.h>
BOOL Mp_GetRemoteCmdMap( fp,buf,id,status,resp,node,NodeID,
                         DatabaseID );

HANDLE fp;     /* Mp_OpenRemoteCmd()で獲得したハンドルを指定 */
               /* する                                       */
void  *buf;    /* Mp_RespRemoteCmd()で指定したバッファを指定 */
               /* する                                       */
int   *id;     /* コマンド要求に対応する識別子の格納領域のア */
               /* ドレスを指定する                           */
int   *status; /* 応答ステータスの格納領域のアドレスを指定す */
               /* る                                         */
char  *resp;   /* コマンドの実行結果、詳細コードの格納領域の */
               /* アドレスを指定する                         */
char  *node;   /* コマンドを応答したシステムのノード名の格納 */
               /* 領域のアドレスを指定する                   */
DWORD *NodeID; /* NULLを指定する                             */
DWORD *DatabaseID; /* NULLを指定する                         */

パラメタ

fp:

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

buf:

Mp_RespRemoteCmd()で指定したバッファを指定します。

id:

Mp_ExecRemoteCmd()の復帰コードに対応する識別子が格納されます。これにより、どのコマンド要求に対するコマンド応答かを識別できます。

status:

statusは、コマンド応答の種別です。応答ステータスを、以下に示します。どちらかの値が格納されます。

  • コマンド結果応答

    STATUS_OUT:

    標準出力に出力されたコマンドの結果です。

    STATUS_ERR:

    標準エラー出力に出力されたコマンドの結果です。

  • コマンド最終応答

    STATUS_END:

    コマンド応答が正常に終了しました(復帰コードあり)。

    STATUS_AED:

    コマンド応答が終了しました(異常終了等)。

resp:

statusがコマンド結果応答の場合、実行されたコマンドの出力結果が格納されます。2048バイト分呼び出し元で準備します。statusがコマンド最終応答の場合、先頭4バイトにコマンドの詳細コードが格納されます。
応答ステータスがSTATUS_ENDの場合、respの内容を以下に示します。

  0        1        2        3        4(バイト)
  +--------+--------+--------+--------+
  |sig     |code    |rsv     |rsv     |
  +--------+--------+--------+--------+
sig:

NTにコマンドを発行した場合は0です。
UNIXにコマンドを発行した場合、コマンドがシグナルを受信して終了した場合0でない値が復帰します。(詳しくは、wait関数のマニュアルを参照してください。)

code:

コマンドの終了コードが格納されます。
ただし、正確な値が格納されるのは0-255までです。

rsv:

予約域です。

備考.ホストバイトオーダで記述しています。

応答ステータスがSTATUS_AEDの場合、respの先頭4バイトにintで、以下に示す詳細コードが設定されます。

OP_RSPINFO_ABE:

コマンド実行中にシステムが停止しました。

OP_RSPINFO_NDE:

要求されたシステムが停止しています。

OP_RSPINFO_EXECERR:

資源不足等でコマンドの実行に失敗しました。

OP_RSPINFO_RSPERR:

コマンドは実行しましたが、その結果の獲得に失敗しました。

OP_RSPINFO_TPH:

通信パスに異常が発生しました。

OP_RSPINFO_LEN:

コマンド実行結果のテキストが長すぎて処理できません。

OP_RSPINFO_CEK:

ハードウェアが保守中のため、コマンドを投入できません。

OP_RSPINFO_LOC:

キーボードロック中で、コマンドを投入できません。

OP_RSPINFO_PAR:

内部論理エラーが発生しました。

OP_RSPINFO_AOT:

タイムアウトが発生しました。

OP_RSPINFO_EXC:

コマンドの送信に失敗しました。

OP_RSPINFO_SDW:

FTOPSII(SYSCOM)がスローダウンしました。

OP_RSPINFO_RST:

アテンションリセット中断が発生しました。

OP_RSPINFO_LOWERLEVEL:

機能レベルが低いために、コマンドを投入できません。

OP_RSPINFO_FTOPS2:

FTOPSIIへのコマンド投入は不可能です。

OP_RSPINFO_END:

コマンド応答が正常に終了しました(復帰コードなし)。

OP_RSPINFO_NOANSPART:

下位システムのシステム監視エージェントサービスが停止しているために、コマンドを投入できません。

OP_RSPINFO_NOANSRAS:

下位システムのシステム監視エージェントサービスが停止している、またはRASによる接続処理が行われていないため、コマンドを投入できません。

OP_RSPINFO_NOHST:

下位システムのIPアドレスが未定義のために、コマンドを投入できません。

OP_RSPINFO_CONREQ:

下位システムに対して接続依頼中のために、コマンドを投入できません。

node:

コマンドを応答したシステムのノード名が格納されます。
MPOP_NODENAMELENバイト分呼び出し元で準備します。

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

【Windows版】

復帰値

TRUE:

正常終了。コマンド実行結果を正常に受信。

FALSE:

異常終了。詳細なエラーコードは、GetLastError()で取得してください。

API格納場所

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