propget (atributo)
El atributo [propget] especifica una función de descriptor de acceso de propiedad. La propiedad debe tener el mismo nombre que la función.
[propget [,optional-property-attributes]] return-type function-name( parameters);
-
optional-property-attributes
-
Cero o más atributos de propiedad.
-
return-type
-
Tipo de los datos devueltos por el procedimiento remoto.
-
nombre de función
-
Nombre del procedimiento remoto.
-
parameters
-
Cero o más parámetros para el procedimiento remoto.
Una función que tenga el atributo propget también debe tener, como último parámetro, un tipo de puntero con los atributos [out] y [retval]. Si el último parámetro no tiene los atributos [out, retval], el valor devuelto de la función se trata como un parámetro [out, retval]. Por ejemplo, una función con el prototipo
[propget] short MyFunction([in] long aLongValue);
se trata como
[propget] HRESULT MyFunction([in] long aLongValue, [out,retval] short *outValue);
Como máximo, se puede especificar una de [propget],[propput] y [propputref] para una función.
Si el atributo [lcid] se usa en la lista de parámetros de una función que contiene un parámetro con el atributo [propput], el parámetro [lcid] debe ser el segundo al último.
INVOKE_PROPERTYGET
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);
}