propget attribute
The [propget] attribute specifies a property accessor function. The property must have the same name as the function.
[propget [,optional-property-attributes]] return-type function-name( parameters);
Parameters
-
optional-property-attributes
-
Zero or more property attributes.
-
return-type
-
The type of the data returned by the remote procedure.
-
function-name
-
The name of the remote procedure.
-
parameters
-
Zero or more parameters to the remote procedure.
Remarks
A function that has the propget attribute should also have, as its last parameter, a pointer type with the [out] and [retval] attributes. If the last parameter does not have the [out, retval] attributes, the return value of the function is treated as an [out, retval] parameter. For example, a function with the prototype
[propget] short MyFunction([in] long aLongValue);
is treated as
[propget] HRESULT MyFunction([in] long aLongValue, [out,retval] short *outValue);
At most, one of [propget], [propput], and [propputref] can be specified for a function.
If the [lcid] attribute is used in the parameter list of a function that contains a parameter with the [propput] attribute, the [lcid] parameter must be second to the last.
Flags
INVOKE_PROPERTYGET
Examples
interface MyInterface : IDispatch
{
[propget,
helpstring("A meaningful comment.")] HRESULT Method1(
[out, retval] int* ReturnVal);
[propput,
helpstring("Another meaningful comment.")] HRESULT Method1(
[in] int Value);
[propget,
helpstring("A meaningful comment."), id(1)] HRESULT Method2(
[out, retval] YourInterface** ReturnVal);
[propputref,
helpstring("Another meaningful comment."),
id(1)] HRESULT Method2([in] YourPoint* Point);
}
See also