====================================================================================================
== Release Note ====================================================================================

■ V11.083 : 2011/08/27

  ・ 新規公開



■ V11.091 : 2011/09/08

  ・ TDSMDMssgXxxxx() 関数により、SML形式、TS300形式両方のメッセージ定義ファイルの使用を同一の関数
     で可能とした。



■ V11.101 : 2011/10/05
■ V11.102 : 2011/10/11

  ・ 内部管理上の問題に関する改修。機能での変更はない。
  


■ V11.110 : 2011/11/08

  ・ メッセージ定義ファイルを使用した場合の、不定個数リストに関する改訂。
    ・ 不定個数リストの定義個数に関する制限を撤廃。複数の不定個数リストを定義可能とした。
    ・ 複数レベルで複数の不定個数リストを設定可能とした。
    ・ 不定個数リストの個数が =0 の場合に、メッセージ構築が正しく行えない問題を改訂。

  ・ メッセージ定義ファイルにおける改訂。
    ・ 複数行に渡る /* */ を可能とする。
    ・ 有効行の中で /* */ の部分のみをコメント化が可能。
    ・ テキスト項目データの " " 中では、コメント指示文字の評価を行わない。
    ・ '\' によるエスケープを行う。

  ・ 通信トレースに関する改訂。
    ・ 項目名を表示する場合、(TRCTTYPE&0x0400)!=0 の場合、先頭行にメッセージ名称を表示する。
    ・ 通信トレースのメッセージ・リストの先頭スペースの個数を (TRCTTYPE&0800) で 2 or 0 の選択を
       可能とした。
    ・ TDWTraceSetDataSize() を新設し、通信トレースの打ち切りバイト数を設定可能とした。

  ・ HSMS の場合、Separate request が出ていない状態で Shutdown を行う場合、Close() により、強制的
     に Separate request を送出するように改訂。



■ V11.111 : 2011/11/15

  ・ TDSMssgNextL() における F4、F8、S8、U8 の表現が間違っていた（正常に表現できていなかった）問題
     を改訂。



■ V11.120 : 2011/12/06

  ・ HSMS 通信に関する改訂。
    ・ Passive 側において、一旦 Accept し、切断した後、再度 Accept した場合に、トレース出力に
       ACCEPT が表示されない問題を改訂。
    ・ Diselect 要求に対する T6 タイムアウトが発生するケースを想定していない問題を改訂。
    ・ Select、Deselect、LinkTest Request 時の W-bit の扱いを変更。デフォルトでは W-bit=0 とし、
       .ini の (DEVMODE&0x08)!=0 の場合に =1 とする。

  ・ トランザクションＩＤの付与において、制御用、データ用のソースＩＤを同一のものを指定するする事
     を可能とした。ただし、この場合 CommSend() において、送信時に実際に付与する TXID と戻り値に戻る
     TXID が異なる場合があるので、説明書に注記した。



■ V12.010 : 2012/01/12

  ・ SECS-1 通信における Single Block 時のブロック番号を (DEVMODE&0x04) で指定可能とした。

  ・ データ送信時 (特に SECS-1 で) 大きなメッセージ送信する場合に、送信に時間がかかって T3TO になる
     場合があること抑止するため、データ送信後にタイマーの再設定を行い、送信前の TXID の登録時は長い
     値を設定することにすることを可能とした。

  ・ SML 形式メッセージ定義において、項目名定義部分 "XX[99.99]XXXXX" に ' '、'\t' の挿入を可能にし
     た。即ち "B [ 10.. 20] BINITEM" といった定義書式が可能となり、書式整形しやすくした。



■ V12.030 : 2012/03/06

  ・ パラメータ TORECV を追加し、指定時間メッセージ受信が無い場合に接続断する事を可能にした。

  ・ (SECSMODE&0x0100) を追加し、==0 の場合は、既接続中に新規接続があった場合は、その接続を即切断。
     !=0 の場合は、既接続を切断し、新規接続を有効とする。
     これにより、接続したまま、未動作のクライアントの接続を無効とすることを可能とした。

  ・ HSMS 時の Connect 要求が失敗した場合のエラー・コードを E_CONN_ERR と明確化した。

  ・ _TDSCommStatus() を追加し、現在の接続状態を取得することを可能とした。

  ・ _TDSMDMssgInitialize() の mode に 0x4000 を追加し、指定があった場合 ((mode&0x4000)!=0 の場合)
     は、スレッドのロックを行う。これにより、ユーザＡＰでロックを行う必要がなくなる。

  ・ 簡易 API (_TDSUDrvXxxxx() 系関数) を追加し、HSMS Active 側も Connect、Select 要求を AP 側で
     コード化することなく、接続し通信することを可能とした。



■ V12.031 : 2012/03/28

  ・ サンプル・ソースコードを改訂
    ・ メッセージ定義ファイル使用処理のロック制御
    ・ Sample1、Sample2 で、送受信 SECS メッセージ構造表示を送受信が混在しないように制御する処理
       を追加



■ V12.071 : 2012/07/08

  ・ プログラマーズ・マニュアルの _TDSMDMssgInitialize()、_TDSMDMssgTerminate() の mode に 関する
     記述に誤りがあり改訂。

  ・ .ini の XMSGSIZE に大きな値を設定した場合に、CPU負荷が増加する現象を回避。



■ V12.121 : 2012/12/12

  ・ _TDSMDMssgInitialize() にて、ロック制御を行う指定をしている場合で、_TDSMDMssgFinc() にて、
     指定 SF-Code に合致するメッセージが存在せず、エラーで戻る場合にも _TDSMDMssgExit() を実行し
     ないとロックが解除されない問題を解決。

  ・ NSG/TS300 形式のメッセージ定義ファイルを使用した場合の、デフォルト・パラメータ、チェック・
     パラメータの指定で、"" を指定すると、'"' が設定されてしまう問題を解決。

  ・ 通信トレース出力におけるリスト形式表示で、データ項目値を複数行に渡り表示することで、全データ
     値を表示することを可能とした。(TRCTTYPE&0x04) にて指定する。

  ・ 通信トレース出力における１６進数形式表示で、１行に表示するデータ個数を、16バイト、20バイトの
     選択を可能とした。(TRCTTYPE&0x08) にて指定する。

  ・ _TDSMssgBuild()、_TDSMssgNext() の mode&0x4000 を有効とし、２バイト文字列の自動変換をサポート
     した。

  ・ 通信トレースに任意のコメントを出力する際、_TDSCommSendComment() で指定した文字列の後ろに、
     ゴミが付いてしまう場合がある問題を解決。
     また、長いメッセージを指定した場合に発生する問題を解決。

  ・ 通信トレース出力時、SECS データを構成する項目のデータ個数が多く、トレースの１行に収まらずに
     最後が、"..." 表記となる場合に、通信トレースに正しく表示されない問題を解決。

  ・ Windows での使用時に、DEVMODE の設定が S9Fx でトランザクションの解放を行う設定の場合に、トラ
     ンザクションの解放がされない問題を解決。

  ・ Ｔ３タイムアウト発生後に対応する２次メッセージを受信する等により、予期せぬメッセージを受信し
     た場合の報告がされない問題を解決。_TDSCommRecv() から -EFAULT で戻るように改訂。

  ・ SECS-1 接続の場合、_TDSCommOpen() 直後に、_TDSCommStatus() の値が =3 となり、接続状態を示す
     ように改訂。

  ・ _TDSSMMssgXxxxx()、_TDSTSMssgXxxxx() 系関数を廃し、_TDSMDMssgXxxxx() に一本化した。
     _TDSSMMssgXxxxx()、_TDSTSMssgXxxxx() 系関数は、互換性を保持するため、TDS.h 内でマクロ定義。
 
  ・ TDSSample1Proc.cpp、TDSSample2Proc.cpp での _TDSMDMssgInitialize() の mode の値が、仕様書での
     定義と異なった設定（0x8000 及び 0x00）にしてしまっていたものを、正しい値（0x4000）に訂正。

  ・ 付属の Sample.sml の S6F11 の構成を変更しました。ご注意下さい。



■ V12.122 : 2013/11/10

  ・ 内部管理上の問題に関する改修。機能での変更はない。
