Automation-Compatible Interfaces

To define an interface as an automation-compatible interface, the oleautomation attribute MUST be specified when defining the interface.

The following production extends the <interface_attribute> production from [C706]:

 attr-oleautomation = kw-oleautomation

An automation-compatible interface MUST be derived from IDispatch or IUnknown, MUST have the [oleautomation attribute, and all of its methods MUST have only automation-compatible parameters and return types.