nonextensible Attribute
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.
For more information on the nonextensible attribute and an example, see nonextensible.