Valeurs de retour de fonction
Les valeurs de retour de fonction sont similaires aux paramètres de [ sortie ] uniquement, car leurs données ne sont pas fournies par l’application cliente. Toutefois, elles sont gérées différemment. Contrairement aux paramètres de [ sortie ] seule, il n’est pas nécessaire qu’ils soient 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 encapsulées.
Toutefois, il est recommandé d’utiliser un paramètre [ out ] au lieu d’une valeur de retour pour les types de données complexes. 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 pointeur sont allouées par le stub client avec un appel à MIDL _ User _ allocate. En conséquence, seul l’attribut de pointeur complet ou unique peut être appliqué à un type de retour de fonction de pointeur.