本項では、旧バージョンのSystemwalker Operation Managerで提供された“アクション状態通知API”について説明します。
“アクション状態通知API”の一覧を以下に示します。
アクション状態通知API(Mp_GetActionInfo)
アクション情報領域の解放API(Mp_FreeActionInfo)
旧バージョンのSystemwalker Operation Managerとは、ここでは以下のバージョンを指しています。
SystemWalker/OperationMGR V4.0
アクション状態通知API(Mp_GetActionInfo)について説明します。
記述形式
long Mp_GetActionInfo (long handle, |
機能説明
指定されたアクションの現在の状態を通知します。
パラメタの説明
handle
アクションの管理番号(アクション実行APIの復帰値)を指定します。
ActionInfo
アクション状態情報構造体(MpActionInfo)を指す領域のアドレスを指定します。APIでアクション状態情報構造体が確保されます。本パラメタが指す領域にアクション状態情報構造体が設定されます。アクション状態情報構造体は、アクション情報領域の解放API(Mp_FreeActionInfo)で解放されます。
nActionInfo
アクションの数を格納する領域のアドレスを指定します。本パラメタが指す領域にアクション状態情報構造体の配列数が設定されます。
復帰値
復帰値 | 意 味 | 対 処 |
---|---|---|
0 | 停止処理を行います。 | - |
MPACT_NOTACTION | 指定されたアクションは存在しません(既に終了している)。 | - |
MPACT_PARAMERR | パラメタエラーです。 | パラメタに誤りがないか確認してください。 |
MPACT_ALLOCFAIL | 領域の獲得に失敗しました。 | ページファイルのサイズを拡張するか、メモリを増設してください。 |
MPACT_NOTMOVE | アクション管理サーバが起動されていません。 | サービスSystemwalker MpAosfBが起動されていることを確認してください。 |
MPACT_COMFAIL | アクション管理サーバとの通信に失敗しました。 | サービスSystemwalker MpAosfB、およびSystemwalker MpAosfXが起動されていることを確認してください。 |
MPACT_SYSERR | アクション管理サーバでエラーが発生しました。 | イベントログ/SYSLOGに出力されたメッセージを参照しエラーを取り除いた後、Systemwalkerを再起動してください。エラーを取り除き、Systemwalker を再起動しても再現する場合は、保守情報収集ツールを使用し[イベント監視]の資料を採取して、富士通技術員に連絡してください。 |
MPACT_NOTDLL | アクション要求用DLLがロードできません。 | 以下のフォルダにアクション管理に必要なファイルf3crhxac.dllがあるか確認してください。 |
MPACT_EXCEPT | 不当な領域のアドレスが指定されました。 | 内部論理異常が発生しています。保守情報収集ツールを使用し資料を採取して、富士通技術員に連絡してください。 |
アクション状態情報構造体(MpActionInfo)の形式
typedef struct MpActionInfo_tag { long no ; long action ; MpActionAddr *addr ; int naddr ; int status ; int code ; } MpActionInfo ;
no
アクションの管理番号が設定されます。
action
アクションの種類が設定されます。
E-Mailの送信です。
MS-Mailの送信です。
ポップアップメッセージの送信です。
ショートメールへのメッセージ送信です。
サウンドの再生です。
addr
アクション実行先情報構造体(MpActionAddr)のアドレスを指定します。アクションの実行先のアドレス情報を格納します。
naddr
addrに設定したアドレス数が設定されます。
status
アクションの状態が設定されます。
正常終了しました。
実行中です。
実行待ちです。
異常終了しました。
一時停止中です。
code
状態が異常終了の場合に詳細コードを設定します。なお、詳細コードについては、後述の“詳細コード”を参照してください。
アクション実行先情報構造体(MpActionAddr)の形式
typedef struct MpActionAddr_tag { unsigned char *name ; char *address ; } MpActionAddr ;
name
アクション実行APIにおいて、宛先名を指定した場合は、指定された宛先名のアドレスが設定されます。アドレスを指定した場合は、NULLが設定されます。
address
送信先(アドレス)のアドレスが設定されます。
メールアドレス設定されます。
ユーザ名またはコンピュータ名が設定されます。
電話番号が設定されます。
詳細コード
アクション状態通知API(Mp_GetActionInfo)内で獲得されたアクションの状態について記述します。
詳細コード | 意 味 | アクション |
---|---|---|
MPACT_D_NOMEMORY | アクション実行中にメモリ不足が発生した | すべて |
MPACT_D_FILEACCESS | アクション実行中にファイル操作でエラーが発生した | |
MPACT_D_NOFILE | 指定されたファイルが存在しない | |
MPACT_D_DEFFILE | アクション実行環境が定義されていない | |
MPACT_D_FAIL | 何らかの理由でアクション実行に失敗した | |
MPACT_D_NOTMOVE | アクション実行サーバが起動されていない | |
MPACT_D_NOHOST | 指定されたアクション実行ホストが存在しない | |
MPACT_D_SENDFAIL | メッセージの送信に失敗した | ポップアップ |
MPACT_D_NOTSERVER | SMTPサーバが見つからない | |
MPACT_D_NOTMYHOST | 自ホスト名が獲得できない | |
MPACT_D_SMTPCOMMAND | SMTPサーバでの処理でエラーが発生した | |
MPACT_D_SMTPCOMM | SMTPサーバとの通信でエラーが発生した | |
MPACT_D_NOTCONNECT | SMTPサーバと接続できない | |
MPACT_D_FROMADDR | 送信元アドレスが指定されていない | |
MPACT_D_SIGNIN | サインインに失敗した | MS-Mail |
MPACT_D_NOSEND | メール送信処理でエラーが発生した | |
MPACT_D_COMMOPEN | COMポート(モデム)のオープンに失敗した | ショートメール |
MPACT_D_COMMFAIL | COMポート(モデム)の入出力でエラーが発生した | |
MPACT_D_INITCOMM | COMポート(モデム)の設定に失敗した | |
MPACT_D_LINEBUSY | 通話中のため、送信できなかった | |
MPACT_D_LINEFAIL | 電話回線の異常のため、送信できなかった | |
MPACT_D_CONVERTFAIL | メッセージの変換処理に失敗した | |
MPACT_D_NOTSOUND | 音声再生用の環境が設定されていない | 音声通知 |
MPACT_D_NOTDEVICE | 他のアプリケーション音声再生用のドライバを使用中 | |
MPACT_D_CREATESOUND | 音声再生処理に失敗した |
プログラム例
アクション状態通知APIのプログラム例を以下に示します。
#include "f3crhxac.h" long handle = 1 ; // 状態を獲得するアクションの管理番号 MpActionInfo *pInfo = NULL ; // 情報の領域のアドレス設定域 int nInfo = 0 ; lrc = Mp_GetActionInfo(handle,&pInfo,&nInfo); if ( lrc != 0 ) { /* エラー処理 */ } /* アクション情報(pInfo)の参照 */ /* アクション情報域(pInfo)の解放 */ Mp_FreeActionInfo(pInfo,nInfo) ;
アクション情報領域の解放API(Mp_FreeActionInfo)について説明します。
記述形式
void Mp_FreeActionInfo (MpActionInfo *ActionInfo, |
機能説明
アクション状態通知API(Mp_GetActionInfo)内で獲得された領域を解放します。
パラメタの説明
ActionInfo
アクション状態通知APIで獲得されたアクション状態情報構造体(MpActionInfo)のアドレスを指定します。
アクション状態情報構造体については、“18.4.5.1 アクション状態通知API”を参照してください。
nAction
ActionInfoの領域に設定されているアクションの数を示します。
プログラム例
アクション情報領域の解放APIのプログラム例を以下に示します。
#include "f3crhxac.h" long handle = 1 ; // 状態を獲得するアクションの管理番号 MpActionInfo *pInfo = NULL ; // 情報の領域のアドレス設定域 int nInfo = 0 ; lrc = Mp_GetActionInfo(handle,&pInfo,&nInfo); if ( lrc != 0 ) { /* エラー処理 */ } /* アクション情報(pInfo)の参照 */ /* アクション情報域(pInfo)の解放 */ Mp_FreeActionInfo(pInfo,nInfo) ;