Partager via


Attributs directionnels appliqués au paramètre

Les attributs directionnels [ dans] et [ out] déterminent la façon dont le client et le serveur allouent et libèrent de la mémoire. Le tableau suivant récapitule l’effet des attributs directionnels sur l’allocation de mémoire.

Attribut directionnel Mémoire sur le client Mémoire sur le serveur
[ dans] L’application cliente doit allouer avant l’appel. Le stub du serveur alloue.
[ out] Le stub du client alloue lors du retour. Le stub du serveur alloue uniquement le pointeur de niveau supérieur ; l’application serveur doit allouer tous les pointeurs incorporés. Le serveur alloue également de nouvelles données en fonction des besoins.
[dans, ] L’application cliente doit allouer les données initiales transmises au serveur ; le stub client alloue des données supplémentaires. Le stub du serveur alloue les données initiales transmises par le client ; l’application serveur alloue de nouvelles données en fonction des besoins.

 

Dans tous ces cas, le stub client ne libère pas de mémoire. L’application cliente doit libérer la mémoire avant qu’elle ne se termine. Le stub du serveur libère de la mémoire lorsque l’appel de procédure distante retourne (soumis à l’attribut [ allouer] ACF).