2.2.49.5.3 Dispinterfaces Automation Members

When defining a dispinterface, the automation members can also be declared by using a split properties/methods syntax:

 oa-odl-body = 
     kw-properties LWSP ":" LWSP *oa-odl-prop LWSP 
     kw-methods LWSP ":" LWSP *oa-odl-method
 oa-odl-prop = 
     *( operation-attributes ) LWSP oa-type-spec LWSP 
     Identifier LWSP ";"
  oa-odl-method = op-declarator
 readonly-attr = kw-readonly
  
  

The readonly attribute, if present, MUST be specified only in the context of an oa-odl-prop production. If this attribute is specified for a property, the client MUST NOT set either DISPATCH_PROPERTYPUT or DISPATCH_PROPERTYPUTREF into the wFlags argument in calls to IDispatch::Invoke (see section 3.1.4.4).

The automation properties MUST specify automation-compatible types. The automation methods MUST have return types that are automation-compatible, as well as parameters that MUST be automation-compatible.