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

4.34 Mp_ReadEvent()関数

機能説明

【Windows版】

Mp_OpenEvent()発行後、Mp_ReadEvent()関数とMp_GetEventMap()関数を組み合わせて発行することにより、監視イベントを1イベントずつ読み出します。

Mp_ReadEvent()関数は、Systemwalker Centric Managerに対して、イベントの受信を要求してすぐに呼び出し元に戻ります。

【UNIX版】

Mp_OpenEvent()発行後、Mp_ReadEvent()関数を発行することにより、監視イベントを1イベントずつ読み出します。

呼び出し形式

【Windows版】

#include <mp_opmgr_api.h>
BOOL   Mp_ReadEvent( fp, buf, rlen, olr );

HANDLE   fp;      /* ハンドルを指定する                      */
char     *buf;    /* データ格納領域のアドレスを指定する      */
DWORD    *rlen;   /* 読み取りバイト数格納領域のアドレスを指  */
                  /* 定する                                  */
OVERLAPPED *olr;  /* OVERLAPPED構造体のアドレスを指定する    */

【UNIX版】

#include <mp_opmgr_api.h>
int Mp_ReadEvent( fp, hisnum, status, category, timerec, logtime,
nodename, NodeID, DatabaseID, folder, application, dealer, eventtext,
level, evttype, jobnum, memo, chgstime, chgetime, IPaddr, reserve,
rddatatyp );

int    fp;                  /* Mp_OpenEvent()で獲得したファイ*/
                            /* ル記述子                      */
long   *hisnum;             /* 監視イベント番号格納領域のアド*/
                            /* レスを指定する                */
unsigned long  *status;     /* イベントの状態格納領域のアドレ*/
                            /* スを指定する                  */
char   *category;           /* 監視イベントの種別格納領域のア*/
                            /* ドレスを指定する              */
time_t *timerec;            /* イベント発生日時格納領域のアド*/
                            /* レスを指定する                */
time_t *logtime;            /* イベントのロギング日時格納領域*/
                            /* のアドレスを指定する          */
char   *nodename;           /* ノード名格納領域のアドレスを指*/
                            /* 定する                        */
unsigned long  *NodeID;     /* リザーブ領域                  */
unsigned long *DatabaseID;  /*  リザーブ領域                 */
char   *folder;             /* フォルダ名格納領域のアドレスを*/
                            /* 指定する                      */
char   *application;        /* 表示名格納領域のアドレスを格納*/
                            /* する                          */
char   *dealer;             /* 対応者格納領域のアドレスを格納*/
                            /* する                          */
char   *eventtext;          /* イベントテキスト格納領域のアド*/
                            /* レスを指定する                */
unsigned long  *level;      /* イベントの重要度レベル格納領域*/
                            /* のアドレスを指定する          */
unsigned long  *evttype;    /* イベントの属性格納領域のアドレ*/
                            /* スを指定する                  */
char   *jobnum;             /* ジョブ番号格納領域のアドレスを*/
                            /* 指定する                      */
char   *memo;               /* メモ格納領域のアドレスを指定す*/
                            /* る                            */
time_t *chgstime;           /* イベントの対処開始日時格納領域*/
                            /* のアドレスを指定する          */
time_t *chgetime;           /* イベントの対処終了日時格納領域*/
                            /* のアドレスを指定する          */
unsigned int  *IPaddr;      /* IPアドレス格納領域のアドレスを*/
                            /* 指定する                      */
unsigned char *reserve;     /* 予約格納領域のアドレスを指定す*/
                            /* る                            */
unsigned long  *rddatatyp;  /* イベントデータの種類格納領域の*/
                            /* アドレスを指定する            */

パラメタ

【Windows版】

fp:

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

buf:

受信データを格納する領域アドレスを指定します。
MPOP_EVTDATAREADLENバイト分呼び出し元で準備します。

rlen:

実際に読み取ったバイト数を格納する領域のアドレスを指定します。

olr:

イベント受信の非同期I/Oで使用するOVERLAPPED構造体のアドレスを指定します。

【UNIX版】

fp:

Mp_OpenEvent()で獲得したファイル記述子を指定します。

hisnum:

監視イベントの発生順序を示す、監視イベント番号が格納されます。

status:

監視イベントに対する対処の状況が格納されます。
このパラメタには、以下の値のどれかが格納されます。

MPOP_RE_NOFIXEVT

監視イベントの状態は“未対処”または“未確認”

MPOP_RE_DEFEVT

監視イベントの状態は“保留”

MPOP_RE_UINVEVT

監視イベントの状態は“調査中”

MPOP_RE_FIXEVT

監視イベントの状態は“対処済”

MPOP_RE_REPEVT

監視イベントの状態は“返答済”

category:

発生した監視イベントの種別が格納されます。
MPOP_CATEGORYLENバイト分呼び出し元で準備します。

timerec:

被監視システムで、イベントが発生した日時が格納されます。
ただし、日時が正しく獲得できなかった場合は、以下のように値が設定されています。

日付、時刻が獲得できない/項目がない場合:

0x00FFFFFF

日付だけ獲得できない場合:

0x00hhmmss

hh:

時(0x00~0x17)

mm:

分(0x00~0x3B)

ss:

秒(0x00~ox3B)

logtime:

監視イベントがイベントログに格納された日時が格納されます。日付、時刻が獲得できない場合、または日付だけ獲得できない場合は、timerecと同様の設定になります。

nodename:

監視イベントが発生したシステムのノード名が格納されます。
MPOP_NODENAMELENバイト分呼び出し元で準備します。

NodeID:

リザーブ領域。

DatabaseID:

リザーブ領域。

folder:

監視イベントが発生したシステムのフォルダ名が格納されます。
MPOP_FOLDERLENバイト分呼び出し元で準備します。

application:

監視イベントが発生したシステムの表示名が格納されます。
MPOP_APPLICATIONLENバイト分呼び出し元で準備します。

dealer:

監視イベントに対応した人の名前が格納されます。
MPOP_DEALERLENバイト分呼び出し元で準備します。

eventtext:

発生したイベントテキストが格納されます。
MPOP_EVENTLENバイト分呼び出し元で準備します。

level:

監視イベントの重要度レベルが格納されます。
このパラメタには、以下の値のどれかが格納されます。

MPOP_RE_SPEMG:

最重要

MPOP_RE_EMG:

重要

MPOP_RE_WARN:

警告

MPOP_RE_NOTICE:

通知

evttype:

監視イベントの属性が格納されます。
このパラメタには、以下の値のどれかが格納されます。

MPOP_RE_NORMTYP

監視イベントの属性は“一般”

MPOP_RE_REPLYTYP

監視イベントの属性は“返答要求”

MPOP_RE_SPCLTYP

監視イベントの属性は“高輝度”

jobnum:

監視イベントに対するジョブ番号が格納されます。
MPOP_JOBNUMLENバイト分呼び出し元で準備します。

memo:

監視イベントに対するユーザメモが格納されます。
MPOP_MEMOLENバイト分呼び出し元で準備します。

chgstime:

監視システムで、イベントの対処を開始した日時が格納されます。
発生イベント(rddatatyp==MPOP_GEM_MONITOR)の場合は0が格納されます。
日付、時刻が獲得できない場合、または日付だけ獲得できない場合は、timerecと同様の設定になります。

chgetime:

監視システムで、イベントの対処を終了した日時が格納されます。
発生イベント(rddatatyp==MPOP_GEM_MONITOR)の場合は0が格納されます。
日付、時刻が獲得できない場合、または日付だけ獲得できない場合は、timerecと同様の設定になります。

IPaddr:

監視システムが発生したシステムのIPアドレスが格納されます。
IPアドレスがない場合は、0が格納されます。

reserve:

1バイトの予約域です。

rddatatyp:

読み出したイベントデータの種類が格納されます。
このパラメタには、以下の値のどちらかが格納されます。

MPOP_GEM_MONITOR:

Systemwalker Centric Managerに通知された監視イベントのデータが読み出された。

MPOP_GEM_CHSTATUS:

状態が変更された監視イベントのデータが読み出された。

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

【Windows版】

【UNIX版】

参照

以下のシステム監視のAPIを参照してください。

復帰値

【Windows版】

ReadFile()関数の復帰情報が、そのまま応答されます。

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

【UNIX版】

0:

正常終了。

-1:

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

API格納場所

監視イベントのAPI”を参照してください。

注意事項

【Windows版】

呼び出し元は、Mp_ReadEvent()関数の第4パラメタの、OVERLAPPED構造体を利用して、イベント受信のオーバラップ処理を完了し、Mp_GetEventMap()関数を呼び出してください。

【UNIX版(Linux for Itanium版Linux for Intel64版を除く)の場合】

UTF-8環境で本APIを使用する場合、以下の注意事項があります。

動作環境による差異

運用管理サーバで使用可能です。