[interface-attribute-list] interface | dispinterface interface-name
{
[bindable[, attribute-list]] returntype function-name(params)
}
[uuid(. . .)]dispinterface MyObject
{
properties:
methods:
[id(1), propget, bindable, defaultbind, displaybind]
long x();
[id(1), propput, bindable, defaultbind, displaybind]
HRESULT x(long rhs);
}
The bindable attribute indicates that the property supports data binding. This allows the client to be notified whenever a property has changed value. (If you want the client to be notified of impending changes to a property, use the requestedit attribute.)
Because the bindable attribute refers to the property as a whole, it must be specified wherever the property is defined. Therefore, you need to specify the attribute on both the property-accessing function and the property-setting function.
FUNCFLAG_FBINDABLE, VARFLAG_FBINDABLE
defaultbind, displaybind, ODL File Syntax, ODL File Example, Generating a Type Library With MIDL, TYPEFLAGS, dispinterface