復旧不定期日誌129, [FromHDDtoSSD] メールを利用する故障通知 あと、文字コード変換 (2022年追記: Windowsのバグ放置は、結構苦しいです)

データ復旧事例から、完全検査( 自社開発FromHDDtoSSD Ver2.0)、 故障予測を取り上げております。
また話題があれば、パソコンパーツ系も取り上げます

いつもお世話になっております。
担当の矢野と申します。

FromHDDtoSSD 故障予測の進行状況は順調です。
ほとんどの実装を終えまして、残るは補助機能の作成に取り組んでおります。
そのうちの一つとして、故障(検査結果)をメールで知らせる機能がございます。

インターネット接続環境であれば、
故障予測にて自動検査された結果をメールにて管理者へお知らせいたします。
多数のパソコンに導入しておけば、定期的なメンテナンスの負担を軽減することが可能です。
メールを受け取るだけで、HDD/SSDの状況が一目で判断できるからです。

この機能の導入に関しましては、 SMTPサーバと通信するだけと考えていたのですが、
文字コードの変換(UTF-16からJIS)周りでちょっと苦戦です。(^^;

独自に組むのはちょっと、という事でAPI(WideCharToMultiByte)を経由する訳ですが、
Win2000にて、このAPIの文字数返却がおかしいようで、
指定されたバッファを用意して渡しますと、エラーとなります。
なお、GetLastErrorはERROR_INSUFFICIENT_BUFFERです。

※ そこで、調べてみたところ、やはり少なめに報告されるとの記載がありまして、
受け取ったサイズよりも多めに取ればエラーにはならないとの事です。
しかし、確かに取得はできるようですが、
今度はメモリ管理(GC)より破損を知らせるエラーが出ております。
この手のエラーは厳禁となりますので、API経由は諦めました。

故障予測以外の部分で中々リリースできず、大変申し訳ございません。
しかしながら、その分便利にご活用頂ける環境作りに尽力いたします。

2022年1月追記:
そういえばWindows2000、文字列に関するAPIのバグが修正されないまま、サポートを終了しました。
Windowsのバグって、このような基本的な部分が放置されがち、ですね。
でも、OSのお仕事はこのような基本的な部分がメインだったはず、です。
ビットコインでも、仮想メモリのロックにバグ(Windows)があって苦戦していた形跡がありました。

暗号通貨短編