なぜだ?

まえに、ハイクにこんなのを書き込んだ。

#define ERROR_SUCCESS = 0L
if (ERROR_SUCCESS == hogefuga()) {
...
今日トラブル対応で調べていたソースコード。そりゃトラブルも起こるかw

ここでは関数名ぼかしたけど、実際にはWin32APIのRegOpenKeyExっていう関数を呼び出してその結果値を評価している。ハイクに投稿した時言いたかったのは「ERROR_SUCCESSなんて見ただけで意味が明瞭にならない=意味不明な定義すんなバカ!」だったんだけど、結果値とその名前の定義はMSのお手本があってそれに従って書いているだけらしい。

なんか、すごく深い意味でもあるんだろうか?<ERROR_SUCCESS こんな名前にもなにか理由があるはずだが…

私のセンスでは結果値に何がしかの意味があるならそれぞれきっちり定義してそれこそSELECT CASEで丹念により分けてハンドリングするのが仁義だと思うんだけどな。まあ、すべてをSELECT CASEでより分けなかったとしても処理続行可能か不可か、を判断して不可ならロギングトライしてExit、正常なら続行ぐらいのコードを書く。その為の名前にERROR_SUCCESSってことはないだろうと思う。

うーん。なんで?