そういうこと。
動的に確保したメモリ上に、クラスの各オブジェクトへのメンバ関数に飛ぶコードを構築して、それをウインドウプロシージャにしている。
メモリを実行可能に設定してなかったんじゃない。
WindowsはDEPの例外をトラップして、ATLによって構築されたっぽいコードを検地した場合は、特別に処理している。
速度を考えた設計が、今は逆に遅くなっているわけだよね。
そんなことするぐらいだったら、mapでも使ったほうがどれほど早いか。