Combinaison des paramètres de canal et de nonpipe

Lorsque vous combinez des types de canal et d’autres types dans un appel de procédure distante, les données sont transmises selon la direction du paramètre :

  • Dans le sens [in], les données de tous les arguments nonpipe sont transmises en premier, suivies des données de canal.
  • Dans la direction [out], le serveur envoie d’abord les données du canal. Une fois la routine du gestionnaire retournée, le serveur transmet les données nonpipe.
  • Lorsqu’il existe des arguments de canal [in,out] combinés avec des arguments [in,out] non-canal, les données d’entrée sont d’abord transmises dans leur intégralité, comme décrit précédemment. Ensuite, les données de sortie sont transmises comme décrit précédemment.

La restriction suivante s’applique à cette implémentation (MIDL 3.0) de canaux : lorsque vous combinez des types de canaux et d’autres types dans un seul appel de procédure distante, les paramètres nonpipe doivent avoir une taille bien définie pour permettre au compilateur MIDL de calculer la taille de mémoire tampon nécessaire. Par exemple, vous ne pouvez pas combiner des paramètres de canal avec un pointeur [ unique] ou une structure conforme, car leurs tailles ne peuvent pas être déterminées au moment de la compilation.

Tuyau

/Oi