atributo propget
O atributo [propget] especifica uma função de acessador de propriedade. A propriedade deve ter o mesmo nome que a função .
[propget [,optional-property-attributes]] return-type function-name( parameters);
-
optional-property-attributes
-
Zero ou mais atributos de propriedade.
-
return-type
-
O tipo dos dados retornados pelo procedimento remoto.
-
function-name
-
O nome do procedimento remoto.
-
parameters
-
Zero ou mais parâmetros para o procedimento remoto.
Uma função que tem o atributo propget também deve ter, como seu último parâmetro, um tipo de ponteiro com os atributos [out] e [retval] . Se o último parâmetro não tiver os atributos [out, retval], o valor retornado da função será tratado como um parâmetro [out, retval]. Por exemplo, uma função com o protótipo
[propget] short MyFunction([in] long aLongValue);
é tratado como
[propget] HRESULT MyFunction([in] long aLongValue, [out,retval] short *outValue);
No máximo, um dos [propget], [propput], e [propputref] pode ser especificado para uma função.
Se o atributo [lcid] for usado na lista de parâmetros de uma função que contém um parâmetro com o atributo [propput] , o parâmetro [lcid] deverá ser o segundo ao ú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);
}