1

some time ago I prepared an idl file to define the interface for plugins of a VB6 application.

Reviewing code I found there is an interface which looks like this:

[
    odl,
    uuid(<some guid>),
    version(1.0),
    nonextensible, oleautomation
]
interface IPlugin : IUnknown {
    HRESULT DoSomething();
}

This interface is used in some VB6 and C++ components (dlls) to expose the main plugin class, also the exe refers to the typelibrary to keep a reference of plugin classes.

What I would like to do now is to remove odl, version and nonextensible because not required, and then add the object attribute to correctly define a COM interface.

  • Now that the entire system is in production, can I change attributes on the interface?
  • Can I do it without compatibility issues?

Thank you

Andrea Rossini
  • 320
  • 2
  • 11
  • 1
    Given that it works now, changing these attributes is very unlikely to be breaking. You can't get a warranty here. – Hans Passant Jul 08 '15 at 12:18

0 Answers0