The nonextensible Attribute

Dual Interfaces and ATL

If a dual interface will not be extended at run time (that is, you won't provide methods or properties via IDispatch::Invoke that are not available via the vtable), you should apply the nonextensible attribute to your interface definition. This attribute provides information to client languages (such as Visual Basic) that can be used to enable full code verification at compile time. If this attribute is not supplied, bugs may remain hidden in the client code until run time.