2.2.49.4 Automation Interfaces

The OLE Automation Protocol allows interfaces to specify two degrees of Automation support:

  • Automation-compatible interfaces are interfaces whose methods use only automation-compatible types.

  • automation interfaces are interfaces that define an automation behavior. That is, servers that implement the automation interfaces MUST provide access to the automation functionality through an implementation of IDispatch (see section 3.1.4).

In order for an interface to be used as an automation-compatible type (see section 2.2.49.3), it MUST be defined as an automation-compatible interface.

All automation interfaces MUST be Automation-compatible.

The following attributes apply to interfaces defined in an automation scope:

 interface-attribute = rpcidl-defined     /
                       kw-nonextensible   /
                       kw-proxy           /
                       attr-oleautomation /
                       attr-dual          /
                       custom-attr
  

kw-nonextensible: Specifies that an interface or dispinterface implements IDispatch, but includes only the properties and methods listed in the interface description. Interfaces and dispinterfaces with this attribute MUST NOT be extended with additional members at run time.

kw-proxy: Specifies an implementation-specific local behavior of the interface <39>. This attribute has no effect across the wire.