Well, it's one less allocation, which is always nice.
Definitely the interface should be visually separated in the windows_media_speech structure, though.
Again, it's a static object so no allocation is needed at all.
And even if it was, it sounds to me like encouraging
micro-optimization.
BTW, as long as those object implement ref counting, they are not exactly immutable.
True, but I at least hope we're past the point where programs abuse COM refcounting all the time, and that nonsense can be confined to things like ddraw and dmusic ;-)
Yup, that's why we usually don't need to replicate the exact native ref count behaviour. That doesn't mean we shouldn't do it right.
Jacek