しかも、WM_NOTIFY 系のハンドラは、result が、戻り値であったり、
引数に LRESULT *lpResult になっていたり、はたまた、省略されて
いたり、ON_NOTIFY() と ON_REFLECT_NOTIOFY() とでハンドラの型が
違っていたり、複雑だったような。

それに、最初からコールバック関数で有るなら専用関数の型が通知別に
なりえるのに、元がメッセージなので、自分で NMxxxx 見たいな構造体に
lParamをキャストして使う必要があり、かつ、MASK 値で変化しているもの
だけが意味が有るなどという余り意味がなくて「大げさ」な仕様である
所も問題点だ。