Out-Only paramètres de pointeur uniques ou complets non acceptés

Les pointeurs uniques ou complets qui sont [ out]-only ne sont pas acceptés par le compilateur MIDL. De telles spécifications entraînent la génération d’un message d’erreur par le compilateur MIDL.

Le stub de serveur généré automatiquement doit allouer de la mémoire pour le référenceur de pointeur afin que l’application serveur puisse stocker des données dans cette zone de mémoire. Selon la définition d’un paramètre [out]-only, aucune information sur le paramètre n’est transmise du client au serveur. Dans le cas d’un pointeur unique, qui peut prendre la valeur null, le stub du serveur ne dispose pas d’informations suffisantes pour dupliquer correctement le pointeur unique dans l’espace d’adressage du serveur, et le stub n’a pas d’informations sur si le pointeur doit pointer vers une adresse valide ou s’il doit être défini sur null. Par conséquent, cette combinaison n’est pas autorisée.

Plutôt que des pointeurs [out, unique] ou [out, ptr], utilisez des pointeurs [in, out, unique] ou [in, out, ptr], ou utilisez un autre niveau d’indirection, tel qu’un pointeur de référence qui pointe vers le pointeur unique ou complet valide.