propget (attribut)
L’attribut [propget] spécifie une fonction d’accesseur de propriété. La propriété doit avoir le même nom que la fonction.
[propget [,optional-property-attributes]] return-type function-name( parameters);
Paramètres
-
optional-property-attributes
-
Zéro ou plusieurs attributs de propriété.
-
type de retour
-
Type des données retournées par la procédure distante.
-
nom de la fonction
-
Nom de la procédure distante.
-
parameters
-
Zéro ou plusieurs paramètres pour la procédure distante.
Notes
Une fonction qui a l’attribut propget doit également avoir, comme dernier paramètre, un type de pointeur avec les attributs [out] et [retval]. Si le dernier paramètre n’a pas les attributs [out, retval], la valeur de retour de la fonction est traitée comme un paramètre [out, retval]. Par exemple, une fonction avec le prototype
[propget] short MyFunction([in] long aLongValue);
est traité comme
[propget] HRESULT MyFunction([in] long aLongValue, [out,retval] short *outValue);
Tout au plus, l’un des [propget], [propput] et [propputref] peut être spécifié pour une fonction.
Si l’attribut [lcid] est utilisé dans la liste de paramètres d’une fonction qui contient un paramètre avec l’attribut[propput], le paramètre [lcid] doit être avant-dernier.
Indicateurs
INVOKE_PROPERTYGET
Exemples
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);
}
Voir aussi