JevRegistEvent

機能

JP1/BaseのイベントサーバにJP1イベントを発行します。この関数が正常終了した時点で,自イベントサーバでのJP1イベントの受付が完了していることが保証されます。

定義ヘッダー

JevApi.h

形式

int  JevRegistEvent(long* status ,
                   const char* server,
                   long baseID,
                   const char* message,
                   const char** extattrs,
                   int extcount);

引数

status

この関数の異常終了時の状態コードを返す領域のアドレスを指定します。状態コードとその意味は次のとおりです。

表3-29 状態コードと意味(JevRegistEvent)

状態コード意味
JEV_NO_LIBRARYライブラリーが見つかりません,またはファイルオープン数が限界に達しシェアードライブラリーが検索できません。
JEV_S_CONNECT_ERRORイベントサービスに接続できません。
JEV_S_INVALID_IDイベントIDが不正です。
JEV_S_INVALID_SERVERイベントサーバ名が不正です。
JEV_S_INVALID_EXT_NAME拡張属性名が不正です。
JEV_S_OVER_EXT_COUNT拡張属性数が上限を超えています。
JEV_S_OVER_EXT_SIZE拡張属性の合計サイズが上限を超えています。
JEV_S_OVER_MESSAGEメッセージの長さが上限を超えています。
JEV_S_PARAM_ERRORパラメーターが不正です。
JEV_S_NOT_SUPPORTサポートされていません。
JEV_S_MAXOPENファイルオープン数の限界に達しました。
JEV_S_NOMEMORYメモリー不足です。
JEV_S_IO_ERR入出力エラーです。
JEV_S_SYSTEM_ERRORシステムエラーです。

注※ 誤って必要なファイルを削除したか,またはコンパイルオプションに誤りがあるおそれがあります。必要なファイルを削除していた場合は,JP1/Baseを再インストールしてください。コンパイルオプションが誤っていた場合は,再設定してください。


server

自ホストで稼働する接続先イベントサーバ名を表す「¥0」で終わる文字列へのポインターを指定します。NULLポインターを指定すると,自ホスト名と同じ名称のイベントサーバに接続します。イベントサーバ名は,「¥0」を含めて256バイト以下で指定してください。

baseID

登録するイベントIDの基本部を表す数値を指定します。指定できる値の範囲は,0x00000000,0x00000001~0x00001FFF,または0x7FFF8000~0x7FFFFFFFです。

message

登録するメッセージを表す「¥0」で終わる文字列へのポインターを指定します。メッセージは,「¥0」を含めて1,024バイト以下で指定してください。

extattrs

登録する拡張属性文字列を格納した文字列配列を指定します。配列の中の個々の拡張属性文字列は,「拡張属性名=拡張属性値」の形式の,「¥0」で終わる文字列です。

拡張属性名は,属性の意味を表す文字列です。拡張属性名には,英数字またはアンダーライン(_)から成る最大32バイトの文字列を指定できます。英字は大文字だけを使用できます。文字列の先頭は英字で指定してください。

拡張属性値は,属性の内容を表す0~10,000バイトの文字列です。

拡張属性は,最大100個指定できます。すべての属性値の長さの合計(「¥0」を含まない)は,10,000バイトに制限されます。

引数としてNULLポインターを指定した場合,拡張属性は登録されません。

拡張属性の詳細については,「付録A JP1イベントの属性の設定基準」を参照してください。

extcount

登録する拡張属性の個数を指定します。「拡張属性」にNULLポインターが指定された場合,この値は無視されます。

戻り値

正常終了0を返す。
異常終了-1を返す。

注意事項

拡張属性を指定するときに,同一の拡張属性名を持つ文字列を複数指定した場合は,最後に指定した文字列が有効になります。