Partager via


Valeurs de retour de fonction

Les valeurs de retour de fonction sont similaires à [out]-uniquement les paramètres, car leurs données ne sont pas fournies par l’application cliente. Toutefois, ils sont gérés différemment. Contrairement à [out]-only parameters, ils ne sont pas obligatoires pour être des pointeurs. La procédure distante peut retourner n’importe quel type de données valide, à l’exception des pointeurs de référence et des unions non-capsulées.

Toutefois, l’utilisation d’un paramètre [out] au lieu d’une valeur de retour pour les types de données complexes est recommandée. Lors du retour de types de données complexes, le compilateur MIDL génère un stub en mode /Os. Par conséquent, toutes les informations récentes de vérification des erreurs fournies par /robust sont perdues.

Les valeurs de retour de fonction qui sont des types de pointeurs sont allouées par le stub client avec un appel à midl_user_allocate. En conséquence, seul l’attribut de pointeur unique ou complet peut être appliqué à un type de retour de fonction de pointeur.