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

3.1.2 監視メッセージのAPI

監視メッセージのAPI一覧を以下に示します。

表3.2 監視メッセージのAPI一覧

関数名

機能

Mp_OpenMsg

メッセージの通知開始要求

Mp_ReadMsg

メッセージのリード要求

Mp_GetMsgMap【Windows】

メッセージの取り出し要求

Mp_CloseMsg

メッセージの通知終了要求

Mp_OpenMsgLog

メッセージログの読み出し開始要求

Mp_ReadMsgLog

メッセージログの読み出し要求

Mp_CloseMsgLog

メッセージログの読み出し終了要求

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

動作環境

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

注意事項

必要ファイル

上記監視メッセージのAPIを使用するには、以下のファイルが必要となります。

【Windowsの場合】

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

【UNIXの場合】

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

コンパイル環境

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

【Windowsの場合】

【UNIXの場合】

使用例

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

3.1.2.1 メッセージを監視する

下記のAPI関数を発行することにより、被監視システムから通知されるメッセージを1つずつ読み出し、監視することができます。1メッセージ単位に、[Systemwalkerコンソール]の[メッセージ一覧]と同等の情報を取得できます。

【Windows

       CreateEvent()                  ---------------------- 1)
       Mp_OpenMsg()                                
       for(;;){
         if(!Mp_ReadMsg()){           ---------------------- 2) 
           if(GetLastError() != ERROR_IO_PENDING){
             break;
           }
           WaitForSingleObject();     ---------------------- 3)
           GetOverLappedResult();                      
        }
        if(Mp_GetMsgMap() == 0){
          break
         }
       ・
       ・
       }
        Mp_CloseMsg();                ---------------------- 4)
        CloseEvent();

1) メッセージ通知開始要求。

2) メッセージ獲得処理。

3) 通知メッセージがない場合の待ち合わせ処理。

4) メッセージ通知終了要求。

【UNIX版】

  if((fp=Mp_OpenMsg())<0){             ---------------------- 1)
      return(-1);
  }
  for(;;){
      ret=select();                    ---------------------- 2)
      if(ret!=1){
          Mp_CloseMsg(fp);
          return(-1);
      }
      if(Mp_ReadMsg()<0){              ---------------------- 3)
          break;
      }
      ・
      ・
  }
  Mp_CloseMsg(fp);                     ---------------------- 4)

1) メッセージ通知開始要求。

2) イベント受信待ち。

3) イベント獲得処理。

4) メッセージ通知終了要求。

3.1.2.2 メッセージログを読み出す

下記のAPI関数を発行することにより、メッセージログファイルにロギングされた過去のメッセージの読み込みができます。

      fp=Mp_OpenMsgLog();                 ----------------------1) 
      for(;;){
          if(Mp_ReadMsgLog(fp, ..)!=1){   ----------------------2)
              break;                   
          }                          
          ・
          ・
      }
      Mp_CloseMsgLog(fp);                 ----------------------3)

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

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

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