ATL_NO_VTABLEの意味がわからず、ぐぐってこんなサイトを見つけました。
ttp://www.ascii.co.jp/pb/msdn/article/a01_0029.html
つまり、COMインタフェースはvirtualはすべてpure virtual
(Java、C#でいうinterface)だから、初期化を高速化するために
ATL_NO_VTABLEを使っている。
別に自分でCOMインタフェース作るときは付けても付けなくても良い。
という認識でOK?