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

3.1.1 監視イベントのAPI

監視イベントのAPI一覧を以下に示します。

表3.1 監視イベントのAPI一覧

関数名

機能

Mp_OpenEventLog

監視イベントログの読み出し開始要求

Mp_ReadEventLog

監視イベントログの読み出し要求

Mp_CloseEventLog

監視イベントログの読み出し終了要求

Mp_OpenEvent

イベントの監視開始要求

Mp_ReadEvent

イベントのリード要求

Mp_GetEventMap【Windows】

イベントの取り出し要求

Mp_CloseEvent

イベントの監視終了要求

Mp_OpenEventStat

イベントの状態変更開始要求

Mp_ChangeEventStat

イベントの対処要求

Mp_CloseEventStat

イベントの状態変更終了要求

監視イベントのAPI共通の動作環境、注意事項、および必要ファイルについての説明を以下に示します。

動作環境

本APIは、以下のインストール種別で動作します。

注意事項

必要ファイル

上記監視イベントのAPIを使用するには、以下のファイルが必要となります。

【Windowsの場合】

監視イベントのAPIは、以下のライブラリ(LIBファイル,DLLファイル)に格納され、各APIで使用する定数および構造体は、INCLUDEファイルに宣言されています。

【UNIXの場合】

以下のINCLUDEファイルとライブラリが必要です。

コンパイル環境

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

【Windowsの場合】

【UNIXの場合】

使用例

API関数の使用例を以下に示します。

3.1.1.1 監視イベントログを読み出す

下記のAPI関数を発行することにより、イベントログにロギングされた過去の監視イベントを、1イベントずつ読み出すことができます。

      fp=Mp_OpenEventLog()                 --------------- 1)
      for(;;){
          if(Mp_ReadEventLog(fp, ..)!=1){  --------------- 2)
              break; 
          }
          ・
          ・
      }
      Mp_CloseEventLog(fp);                --------------- 3)

1) 読み出し開始要求をする。

2) ロギングされた監視(イベントを1イベントずつ読み出す)。

3) 読み出し終了要求をする。

3.1.1.2 イベントを監視する

監視イベント受信関数は、監視イベント通知の要求開始から要求終了までに運用管理サーバに通知され、イベントログファイルに格納されるイベントをリアルタイムに受け取れます。

【Windows

CreateEvent();
if((Mp_OpenEvent())<0){                  ---------------------- 1)
    return(-1);
}
for(;;){
         if(!Mp_ReadEvent()){            ---------------------- 2)
             if(GetLastError()!=ERROR_IO_PENDING){
                 break;
             }
             WaitForSingleObject();      ---------------------- 3)
             GetOverLappedResult();    
         }
         if(Mp_GetEventMap()<0){         ---------------------- 4)
             break;
         }
        ・
        ・
     }
     Mp_CloseEvent();                    ---------------------- 5)
     CloseEvent()

1) 監視要求開始処理。

2) イベント受信待ち。

3) 通知イベントがない場合の待ち合わせ処理。

4) 監視イベント獲得。

5) 監視終了要求開始処理。

【UNIX版】

if((fp=Mp_OpenEvent())<0){         ---------------------- 1)
    return(-1);
}
for(;;){
    ret=select();                  ---------------------- 2)
        if(ret!=1){
            Mp_CloseEvent(fp);
            return(-1);
        }
        if(Mp_ReadEvent() < 0){    ---------------------- 3)
            break;
        }
        ・
        ・
    }
    Mp_CloseEvent(fp);             ---------------------- 4)

1) 監視要求開始処理。

2) イベント受信待ち。

3) 監視イベント獲得。

4) 監視要求終了処理。

3.1.1.3 監視イベントを対処する

下記のAPI関数を発行することにより、監視イベントを対処(監視イベントの状態を“保留”、“対処済”、“返答済”に変更)することができます。

      Mp_OpenEventStat();        ---------------------- 1)
          ・
          ・
      Mp_ChangeEventStat();      ---------------------- 2)
          ・
          ・
      Mp_CloseEventStat();       ---------------------- 3)

1) 状態変更開始要求をする。

2) 監視イベントの対処。

3) 状態変更要求をする。