Partager via


Canaux (RPC)

Le constructeur de type de canal est un mécanisme très efficace pour transmettre de grandes quantités de données, ou toute quantité de données qui n’est pas toutes disponibles en mémoire à la fois. En utilisant un canal, le temps d’exécution RPC gère le transfert de données réel, ce qui élimine la surcharge associée aux appels répétés de procédure distante.

Une fois qu’un client appelle une procédure distante qui a un paramètre de canal, le client et le serveur entrent des boucles pour transférer des données. Les données peuvent être produites sur le client ou le serveur. Autrement, la quantité de données (en octets) n’a pas besoin d’être connue à l’avance. Les données peuvent être produites ou consommées de manière incrémentielle. Dans la boucle de transfert de données, le serveur appelle des routines stub qui chargent ou déchargent une mémoire tampon de données. Le client appelle des procédures définies par le programmeur pour allouer des mémoires tampons, charger des données dans et décharger des données à partir des mémoires tampons.

Cette section fournit une vue d’ensemble de l’utilisation de canaux pour les appels de procédure distante. Il présente la vue d’ensemble des rubriques suivantes :

Pour plus d’informations sur la syntaxe et les restrictions de canal, consultez de canal dans la référence du langage MIDL. L’exemple de programme PIPES dans les exemples du Kit de développement logiciel (SDK) platform\rrépertoire pc montre comment utiliser [in,out] canaux pour transférer des données entre un client et un serveur.