propget (attributo)
L'attributo [propget] specifica una funzione di accesso della proprietà. La proprietà deve avere lo stesso nome della funzione.
[propget [,optional-property-attributes]] return-type function-name( parameters);
-
optional-property-attributes
-
Zero o più attributi di proprietà.
-
tipo restituito
-
Tipo dei dati restituiti dalla procedura remota.
-
nome funzione
-
Nome della routine remota.
-
parameters
-
Zero o più parametri per la procedura remota.
Una funzione con l'attributo propget deve avere anche, come ultimo parametro, un tipo puntatore con gli attributi [out] e [retval]. Se l'ultimo parametro non ha gli attributi [out, retval], il valore restituito della funzione viene considerato come parametro [out, retval]. Ad esempio, una funzione con il prototipo
[propget] short MyFunction([in] long aLongValue);
viene considerato come
[propget] HRESULT MyFunction([in] long aLongValue, [out,retval] short *outValue);
Al massimo, uno di [propget], [propput]e [propputref] può essere specificato per una funzione.
Se l'attributo [lcid] viene usato nell'elenco di parametri di una funzione contenente un parametro con l'attributo [propput] , il parametro [lcid] deve essere secondo all'ultimo.
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);
}