旧バージョン互換コマンドを廃止
CEpgDBManagerの排他制御が不十分なのを修正
CEpgTimerSrvのロック構造を全体的に修正
CtrlCmdUtil.cppのwstring変換を少し効率化
RecName_Macro / 少し整理
RecName_Macro / マクロが再帰的に展開されないよう修正
RecName_Macro / マクロに置換等の関数を適用できるようにした

◆関数一覧 ※関数部に$,&,(を含めるときは数値文字参照(&文字コード;)を使う
【文字置換】Tr/置換文字リスト/置換後/
・例: 番組名のA→a、$→B: $Tr/A&36;/aB/(Title)$
【半角⇔全角】HtoZ,ZtoH
【英数半角⇔全角】HtoZ<alnum>,ZtoH<alnum>
【文字削除】Rm/削除文字リスト/
・例: 番組内容から/を削除: $Rm!/!(SubTitle)$
【足切り】Head文字数
・例: 番組内容を半角にして最長15文字に: $Head15(ZtoH(SubTitle))$
RecName_Macro / マクロ $Genre$ $Genre2$ の修正

165a016f76374bb734d7d7187140ee0b3f66b979 でエンバグ
EpgDataCap3Main.cppの内部ロックを軽量化

EPG再読込時などに数万回規模のイベント発行が行われ、これは意外に高コスト
常にとれる策ではないがこのモジュールでタイムアウトするような資源待ちはないため
freeCAFlagのDeepCopy()し忘れを修正
CEpgDBManagerのEPG再読み込みのトランザクションを改善
復帰タイマの設定時無駄にrebootFlagを参照しているのを修正

とくに影響はないがここで参照するのは理屈にあわないため
復帰タイマオブジェクトを1つだけ使用する手法に戻す

交互に使用する手法が安全かどうか確信できないため
外部要因によるスリープから確実に復帰できるように無駄なタイマの再生成をなくした
単に復帰のためにWaitableTimerを使う場合イベントをスレッドで待つ必要はないようなので簡素なコミットに戻した
「旧バージョン互換コマンドを廃止」を取り消し

revert c3010a1cae6c53ccb665068ccb8a4727b0bcd9ff
EpgDataViewerと互換をとるため
本体ではすでに使われておらず仕様に不確実な点もあるので、おそらく新規に使うべきコマンドではない
CReserveManagerの排他制御漏れを修正
予約状態が変わったときの復帰タイマの再設定を速やかにおこなう

10秒近い遅延があったため
powercfg /waketimers を監視すればどういう事かわかると思う
復帰タイマを絶対時刻で設定する

SetWaitableTimerの仕様上こちらのほうが確実
PSI/SIパーサの境界チェックがおかしいのを修正

section_length==0~3(特に0)の異常値でよくないことがおこりうる
ついでに若干の冗長整理
PSI/SIテーブルパーサの境界チェックが甘い部分を修正

ここはCRCを通過済みなので(EDCBは信頼のおけるストリームしか扱わない筈なので)さほど重要な修正ではない
CTSPacketUtilのパースバグを修正

ただし元コードのままでも影響はないかもしれない