Systemwalker Operation Manager リファレンスマニュアル - Microsoft(R) Windows NT(R)/Windows(R) 2000/Windows Server(TM) 2003 - |
目次
索引
![]() ![]() |
第14章 API情報 | > 14.3 ジョブ実行制御API |
ジョブ状態獲得API/EE(Mp_StatusJob_Ex)について説明します。
Systemwalker Operation Manager EEで、ジョブの状態を獲得します。ジョブが終了状態である場合、ジョブの終了コードを獲得できます。
long Mp_StatusJob_Ex (char *rhost, |
NULLを指定してください。
状態を獲得するジョブのジョブ名を指定します。NULLを指定することもできます。NULLを指定した場合は、jobnoで指定されたジョブ番号によって状態を獲得するジョブを指定してください。
状態を獲得するジョブのジョブ番号を指定します。jobnameにNULLを指定した場合、および同名ジョブが複数存在する場合は、必ず指定してください。
NULLを指定してください。
システム管理者(Administratorsグループに属するユーザ)が他人のジョブの状態を獲得する場合に指定します。状態の獲得対象ジョブの所有者名を指定してください。
操作対象のサブシステムを、0から9の範囲の番号で指定します。
復帰値 |
意 味 |
0 |
指定したジョブは存在しません。 |
1 |
実行待ち状態です。 |
2 |
実行保留状態です。 |
3 |
実行中です。 |
4 |
出力保留状態です。 |
5 |
ジョブは終了状態です。 |
-1 |
システムエラーが発生しました。 |
-1000以下 |
ジョブ実行制御において、エラーが検出されたため、状態の獲得処理を中断しました。 なお、エラーメッセージ獲得APIを使用して、エラーメッセージを獲得することができます。 |
引数が無効アドレスを指している場合、当関数は異常終了し、その動作は定義されません。
ジョブ状態獲得API/EEのプログラム例を以下に示します。
#include <windows.h> #include <stdio.h> #include "f3cuapi.h" int main (int argc, char **argv) { long jobno = 0; long rtn = 0; unsigned long compcode = 0; char errmsg[256+1]; int system_num; /* * initialization working area */ memset(errmsg, 0x00, sizeof(errmsg)); if (argc != 2) { printf ("Usage: %s <jobno>\n", argv[0]); return (1); } /* * set jobno */ jobno = atoi(argv[1]); /* * call Mp_StatusJob_Ex() API */ system_num = 0; rtn = Mp_StatusJob_Ex (NULL, NULL, jobno, NULL, &compcode, NULL, system_num); /* * check return code of Mp_StatusJob_Ex() API */ if (rtn == 0) { printf ("Job %d is not found.\n", jobno); return (0); } else if (rtn == 1) { printf ("Job %d is waiting for execution.\n", jobno); return (0); } else if (rtn == 2) { printf ("Job %d is holding for execution.\n", jobno); return (0); } else if (rtn == 3) { printf ("Job %d is executing.\n", jobno); return (0); } else if (rtn == 4) { printf ("Job %d is holding for output.\n", jobno); return (0); } else if (rtn == 5) { printf ("Job %d was completed. completion code = %d\n", jobno, compcode); return (0); } else if (rtn == -1) { printf ("GetLastError() is %d.\n", GetLastError()); } else if (rtn <= -1000) { printf ("Error code is %d.\n", rtn); Mp_GetMJESerror (errmsg); printf ("errmsg = %s\n", errmsg); } return (1); }
目次
索引
![]() ![]() |