Defined as follows:
typedef enum tagINVOKEKIND {
INVOKE_FUNC = DISPATCH_METHOD,
INVOKE_PROPERTYGET = DISPATCH_PROPERTYGET,
INVOKE_PROPERTYPUT = DISPATCH_PROPERTYPUT,
INVOKE_PROPERTYPUTREF = DISPATCH_PROPERTYPUTREF
} INVOKEKIND;
Value | Description |
---|---|
INVOKE_FUNC | The member is called using a normal function invocation syntax. |
INVOKE_PROPERTYGET | The function is invoked using a normal property-access syntax. |
INVOKE_PROPERTYPUT | The function is invoked using a property value assignment syntax. Syntactically, a typical programming language might represent changing a property in the same way as assignment. For example:object.property : = value . |
INVOKE_PROPERTYPUTREF | The function is invoked using a property reference assignment syntax. |
In C, value assignment is written as *pobj1 = *pobj2
, while reference assignment is written as pobj1 = pobj2
. Other languages have other syntactic conventions. A property or data member can support only a value assignment, a reference assignment, or both. For a detailed description of property functions, see Chapter 5, "Dispatch Interface and API Functions." The INVOKEKIND enumeration constants are the same constants that are passed to IDispatch::Invoke to specify the way in which a function is invoked.