I was just saying removing the interface name was not a good thing imo
or am I missing something?
Right, the interface name needs to be there as it matches the COBJMACROS name. Basically the C macro with a prefix.
Why? If you really want to keep interface name the better way imho is as it's usually done in mshtml, like HTMLDOMTextNode_*, so here you don't need to add anything like prefix.
_I is just 2 characters and won't cost a lot but hey seems a correct solution for me. And when you need to specify a class name ? Are you thinking about something like class_HTMLDOMTextNode_* ?